1
2 package org.apache.shardingsphere.sql.parser.autogen;
3 import org.antlr.v4.runtime.atn.*;
4 import org.antlr.v4.runtime.dfa.DFA;
5 import org.antlr.v4.runtime.*;
6 import org.antlr.v4.runtime.misc.*;
7 import org.antlr.v4.runtime.tree.*;
8 import java.util.List;
9 import java.util.Iterator;
10 import java.util.ArrayList;
11
12 @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
13 public class SQLServerStatementParser extends Parser {
14 static { RuntimeMetaData.checkVersion("4.10.1", RuntimeMetaData.VERSION); }
15
16 protected static final DFA[] _decisionToDFA;
17 protected static final PredictionContextCache _sharedContextCache =
18 new PredictionContextCache();
19 public static final int
20 T__0=1, BLOCK_COMMENT=2, INLINE_COMMENT=3, AND_=4, OR_=5, NOT_=6, TILDE_=7,
21 VERTICAL_BAR_=8, AMPERSAND_=9, SIGNED_LEFT_SHIFT_=10, SIGNED_RIGHT_SHIFT_=11,
22 CARET_=12, MOD_=13, COLON_=14, PLUS_=15, MINUS_=16, ASTERISK_=17, SLASH_=18,
23 BACKSLASH_=19, DOT_=20, DOT_ASTERISK_=21, SAFE_EQ_=22, DEQ_=23, EQ_=24,
24 NEQ_=25, GT_=26, GTE_=27, LT_=28, LTE_=29, POUND_=30, LP_=31, RP_=32,
25 LBE_=33, RBE_=34, LBT_=35, RBT_=36, COMMA_=37, DQ_=38, SQ_=39, BQ_=40,
26 QUESTION_=41, AT_=42, SEMI_=43, DOLLAR_=44, WS=45, SELECT=46, INSERT=47,
27 UPDATE=48, DELETE=49, CREATE=50, ALTER=51, DROP=52, TRUNCATE=53, SCHEMA=54,
28 GRANT=55, REVOKE=56, ADD=57, SET=58, TABLE=59, COLUMN=60, COLUMNS=61,
29 INDEX=62, CONSTRAINT=63, PRIMARY=64, UNIQUE=65, FOREIGN=66, KEY=67, POSITION=68,
30 PRECISION=69, FUNCTION=70, TRIGGER=71, PROCEDURE=72, PROC=73, VIEW=74,
31 INTO=75, VALUES=76, WITH=77, UNION=78, DISTINCT=79, CASE=80, WHEN=81,
32 CAST=82, TRIM=83, SUBSTRING=84, FROM=85, NATURAL=86, JOIN=87, FULL=88,
33 INNER=89, OUTER=90, LEFT=91, RIGHT=92, CROSS=93, USING=94, WHERE=95, AS=96,
34 ON=97, OFF=98, IF=99, ELSE=100, THEN=101, FOR=102, TO=103, AND=104, OR=105,
35 IS=106, NOT=107, NULL=108, TRUE=109, FALSE=110, EXISTS=111, BETWEEN=112,
36 IN=113, ALL=114, ANY=115, LIKE=116, ORDER=117, GROUP=118, BY=119, ASC=120,
37 DESC=121, HAVING=122, LIMIT=123, OFFSET=124, BEGIN=125, COMMIT=126, ROLLBACK=127,
38 SAVEPOINT=128, BOOLEAN=129, DOUBLE=130, CHAR=131, CHARACTER=132, ARRAY=133,
39 INTERVAL=134, DATE=135, TIME=136, TIMESTAMP=137, LOCALTIME=138, LOCALTIMESTAMP=139,
40 YEAR=140, QUARTER=141, MONTH=142, WEEK=143, DAY=144, HOUR=145, MINUTE=146,
41 SECOND=147, MICROSECOND=148, MAX=149, MIN=150, SUM=151, COUNT=152, AVG=153,
42 DEFAULT=154, CURRENT=155, ENABLE=156, DISABLE=157, CALL=158, INSTANCE=159,
43 PRESERVE=160, DO=161, DEFINER=162, CURRENT_USER=163, SQL=164, CASCADED=165,
44 LOCAL=166, CLOSE=167, OPEN=168, NEXT=169, NAME=170, COLLATION=171, NAMES=172,
45 INTEGER=173, REAL=174, DECIMAL=175, TYPE=176, BIT=177, SMALLINT=178, INT=179,
46 TINYINT=180, NUMERIC=181, FLOAT=182, BIGINT=183, TEXT=184, VARCHAR=185,
47 PERCENT=186, TIES=187, EXCEPT=188, INTERSECT=189, USE=190, MERGE=191,
48 LOOP=192, EXPAND=193, VIEWS=194, FAST=195, FORCE=196, KEEP=197, PLAN=198,
49 OPTIMIZE=199, SIMPLE=200, FORCED=201, HINT=202, READ_ONLY=203, DATABASE=204,
50 DECLARE=205, CURSOR=206, OF=207, RETURNS=208, DATEPART=209, RETURN=210,
51 READONLY=211, AT=212, PASSWORD=213, WITHOUT=214, APPLY=215, KEEPIDENTITY=216,
52 KEEPDEFAULTS=217, HOLDLOCK=218, IGNORE_CONSTRAINTS=219, IGNORE_TRIGGERS=220,
53 NOLOCK=221, NOWAIT=222, PAGLOCK=223, READCOMMITTED=224, READCOMMITTEDLOCK=225,
54 READPAST=226, REPEATABLEREAD=227, ROWLOCK=228, TABLOCK=229, TABLOCKX=230,
55 UPDLOCK=231, XLOCK=232, FOR_GENERATOR=233, BINARY=234, ESCAPE=235, HIDDEN_=236,
56 MOD=237, PARTITION=238, PARTITIONS=239, TOP=240, ROW=241, ROWS=242, UNKNOWN=243,
57 XOR=244, ALWAYS=245, CASCADE=246, CHECK=247, GENERATED=248, NO=249, OPTION=250,
58 PRIVILEGES=251, REFERENCES=252, USER=253, ROLE=254, START=255, TRANSACTION=256,
59 ACTION=257, ALGORITHM=258, AUTO=259, BLOCKERS=260, CLUSTERED=261, NONCLUSTERED=262,
60 COLLATE=263, COLUMNSTORE=264, CONTENT=265, CONVERT=266, YEARS=267, MONTHS=268,
61 WEEKS=269, DAYS=270, MINUTES=271, DENY=272, DETERMINISTIC=273, DISTRIBUTION=274,
62 DOCUMENT=275, DURABILITY=276, ENCRYPTED=277, END=278, FILESTREAM=279,
63 FILETABLE=280, FILLFACTOR=281, FOLLOWING=282, HASH=283, HEAP=284, IDENTITY=285,
64 INBOUND=286, OUTBOUND=287, UNBOUNDED=288, INFINITE=289, LOGIN=290, MASKED=291,
65 MAXDOP=292, MOVE=293, NOCHECK=294, NONE=295, OBJECT=296, ONLINE=297, OVER=298,
66 PAGE=299, PAUSED=300, PERIOD=301, PERSISTED=302, PRECEDING=303, RANDOMIZED=304,
67 RANGE=305, REBUILD=306, REPLICATE=307, REPLICATION=308, RESUMABLE=309,
68 ROWGUIDCOL=310, SAVE=311, SELF=312, SPARSE=313, SWITCH=314, TRAN=315,
69 TRANCOUNT=316, ZONE=317, EXECUTE=318, EXEC=319, SESSION=320, CONNECT=321,
70 CONNECTION=322, CATALOG=323, CONTROL=324, CONCAT=325, TAKE=326, OWNERSHIP=327,
71 DEFINITION=328, APPLICATION=329, ASSEMBLY=330, SYMMETRIC=331, ASYMMETRIC=332,
72 SERVER=333, RECEIVE=334, CHANGE=335, TRACE=336, TRACKING=337, RESOURCES=338,
73 SETTINGS=339, STATE=340, AVAILABILITY=341, CREDENTIAL=342, ENDPOINT=343,
74 EVENT=344, NOTIFICATION=345, LINKED=346, AUDIT=347, DDL=348, XML=349,
75 IMPERSONATE=350, SECURABLES=351, AUTHENTICATE=352, EXTERNAL=353, ACCESS=354,
76 ADMINISTER=355, BULK=356, OPERATIONS=357, UNSAFE=358, SHUTDOWN=359, SCOPED=360,
77 CONFIGURATION=361, DATASPACE=362, SERVICE=363, CERTIFICATE=364, CONTRACT=365,
78 ENCRYPTION=366, MASTER=367, DATA=368, SOURCE=369, FILE=370, FORMAT=371,
79 LIBRARY=372, FULLTEXT=373, MASK=374, UNMASK=375, MESSAGE=376, REMOTE=377,
80 BINDING=378, ROUTE=379, SECURITY=380, POLICY=381, AGGREGATE=382, QUEUE=383,
81 RULE=384, SYNONYM=385, COLLECTION=386, SCRIPT=387, KILL=388, BACKUP=389,
82 LOG=390, SHOWPLAN=391, SUBSCRIBE=392, QUERY=393, NOTIFICATIONS=394, CHECKPOINT=395,
83 SEQUENCE=396, ABORT_AFTER_WAIT=397, ALLOW_PAGE_LOCKS=398, ALLOW_ROW_LOCKS=399,
84 ALL_SPARSE_COLUMNS=400, BUCKET_COUNT=401, COLUMNSTORE_ARCHIVE=402, COLUMN_ENCRYPTION_KEY=403,
85 COLUMN_SET=404, COMPRESSION_DELAY=405, DATABASE_DEAULT=406, DATA_COMPRESSION=407,
86 DATA_CONSISTENCY_CHECK=408, ENCRYPTION_TYPE=409, SYSTEM_TIME=410, SYSTEM_VERSIONING=411,
87 TEXTIMAGE_ON=412, WAIT_AT_LOW_PRIORITY=413, STATISTICS_INCREMENTAL=414,
88 STATISTICS_NORECOMPUTE=415, ROUND_ROBIN=416, SCHEMA_AND_DATA=417, SCHEMA_ONLY=418,
89 SORT_IN_TEMPDB=419, IGNORE_DUP_KEY=420, IMPLICIT_TRANSACTIONS=421, MAX_DURATION=422,
90 MEMORY_OPTIMIZED=423, MIGRATION_STATE=424, PAD_INDEX=425, REMOTE_DATA_ARCHIVE=426,
91 FILESTREAM_ON=427, FILETABLE_COLLATE_FILENAME=428, FILETABLE_DIRECTORY=429,
92 FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME=430, FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME=431,
93 FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME=432, FILTER_PREDICATE=433, HISTORY_RETENTION_PERIOD=434,
94 HISTORY_TABLE=435, LOCK_ESCALATION=436, DROP_EXISTING=437, ROW_NUMBER=438,
95 FETCH=439, FIRST=440, ONLY=441, MONEY=442, SMALLMONEY=443, DATETIMEOFFSET=444,
96 DATETIME=445, DATETIME2=446, SMALLDATETIME=447, NCHAR=448, NVARCHAR=449,
97 NTEXT=450, VARBINARY=451, IMAGE=452, SQL_VARIANT=453, UNIQUEIDENTIFIER=454,
98 HIERARCHYID=455, GEOMETRY=456, GEOGRAPHY=457, OUTPUT=458, INSERTED=459,
99 DELETED=460, ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS=461, ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES=462,
100 DISABLE_BATCH_MODE_ADAPTIVE_JOINS=463, DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK=464,
101 DISABLE_DEFERRED_COMPILATION_TV=465, DISABLE_INTERLEAVED_EXECUTION_TVF=466,
102 DISABLE_OPTIMIZED_NESTED_LOOP=467, DISABLE_OPTIMIZER_ROWGOAL=468, DISABLE_PARAMETER_SNIFFING=469,
103 DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK=470, DISABLE_TSQL_SCALAR_UDF_INLINING=471,
104 DISALLOW_BATCH_MODE=472, ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS=473, ENABLE_QUERY_OPTIMIZER_HOTFIXES=474,
105 FORCE_DEFAULT_CARDINALITY_ESTIMATION=475, FORCE_LEGACY_CARDINALITY_ESTIMATION=476,
106 QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n=477, QUERY_PLAN_PROFILE=478, EXTERNALPUSHDOWN=479,
107 SCALEOUTEXECUTION=480, IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX=481, KEEPFIXED=482,
108 MAX_GRANT_PERCENT=483, MIN_GRANT_PERCENT=484, MAXRECURSION=485, NO_PERFORMANCE_SPOOL=486,
109 PARAMETERIZATION=487, QUERYTRACEON=488, RECOMPILE=489, ROBUST=490, OPTIMIZE_FOR_SEQUENTIAL_KEY=491,
110 DATA_DELETION=492, FILTER_COLUMN=493, RETENTION_PERIOD=494, CONTAINMENT=495,
111 PARTIAL=496, FILENAME=497, SIZE=498, MAXSIZE=499, FILEGROWTH=500, UNLIMITED=501,
112 KB=502, MB=503, GB=504, TB=505, CONTAINS=506, MEMORY_OPTIMIZED_DATA=507,
113 FILEGROUP=508, NON_TRANSACTED_ACCESS=509, DB_CHAINING=510, TRUSTWORTHY=511,
114 FORWARD_ONLY=512, SCROLL=513, STATIC=514, KEYSET=515, DYNAMIC=516, FAST_FORWARD=517,
115 SCROLL_LOCKS=518, OPTIMISTIC=519, TYPE_WARNING=520, SCHEMABINDING=521,
116 CALLER=522, INPUT=523, CALLED=524, VARYING=525, OUT=526, OWNER=527, ATOMIC=528,
117 LANGUAGE=529, LEVEL=530, ISOLATION=531, SNAPSHOT=532, REPEATABLE=533,
118 READ=534, SERIALIZABLE=535, NATIVE_COMPILATION=536, VIEW_METADATA=537,
119 AFTER=538, INSTEAD=539, APPEND=540, INCREMENT=541, CYCLE=542, CACHE=543,
120 MINVALUE=544, MAXVALUE=545, RESTART=546, LOB_COMPACTION=547, COMPRESS_ALL_ROW_GROUPS=548,
121 REORGANIZE=549, RESUME=550, PAUSE=551, ABORT=552, INCLUDE=553, DISTRIBUTED=554,
122 MARK=555, WORK=556, REMOVE=557, AUTOGROW_SINGLE_FILE=558, AUTOGROW_ALL_FILES=559,
123 READWRITE=560, READ_WRITE=561, MODIFY=562, ACCELERATED_DATABASE_RECOVERY=563,
124 PERSISTENT_VERSION_STORE_FILEGROUP=564, IMMEDIATE=565, NO_WAIT=566, TARGET_RECOVERY_TIME=567,
125 SECONDS=568, HONOR_BROKER_PRIORITY=569, ERROR_BROKER_CONVERSATIONS=570,
126 NEW_BROKER=571, DISABLE_BROKER=572, ENABLE_BROKER=573, MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=574,
127 READ_COMMITTED_SNAPSHOT=575, ALLOW_SNAPSHOT_ISOLATION=576, RECURSIVE_TRIGGERS=577,
128 QUOTED_IDENTIFIER=578, NUMERIC_ROUNDABORT=579, CONCAT_NULL_YIELDS_NULL=580,
129 COMPATIBILITY_LEVEL=581, ARITHABORT=582, ANSI_WARNINGS=583, ANSI_PADDING=584,
130 ANSI_NULLS=585, ANSI_NULL_DEFAULT=586, PAGE_VERIFY=587, CHECKSUM=588,
131 TORN_PAGE_DETECTION=589, BULK_LOGGED=590, RECOVERY=591, TOTAL_EXECUTION_CPU_TIME_MS=592,
132 TOTAL_COMPILE_CPU_TIME_MS=593, STALE_CAPTURE_POLICY_THRESHOLD=594, EXECUTION_COUNT=595,
133 QUERY_CAPTURE_POLICY=596, WAIT_STATS_CAPTURE_MODE=597, MAX_PLANS_PER_QUERY=598,
134 QUERY_CAPTURE_MODE=599, SIZE_BASED_CLEANUP_MODE=600, INTERVAL_LENGTH_MINUTES=601,
135 MAX_STORAGE_SIZE_MB=602, DATA_FLUSH_INTERVAL_SECONDS=603, CLEANUP_POLICY=604,
136 CUSTOM=605, STALE_QUERY_THRESHOLD_DAYS=606, OPERATION_MODE=607, QUERY_STORE=608,
137 CURSOR_DEFAULT=609, GLOBAL=610, CURSOR_CLOSE_ON_COMMIT=611, HOURS=612,
138 CHANGE_RETENTION=613, AUTO_CLEANUP=614, CHANGE_TRACKING=615, AUTOMATIC_TUNING=616,
139 FORCE_LAST_GOOD_PLAN=617, AUTO_UPDATE_STATISTICS_ASYNC=618, AUTO_UPDATE_STATISTICS=619,
140 AUTO_SHRINK=620, AUTO_CREATE_STATISTICS=621, INCREMENTAL=622, AUTO_CLOSE=623,
141 DATA_RETENTION=624, TEMPORAL_HISTORY_RETENTION=625, EDITION=626, MIXED_PAGE_ALLOCATION=627,
142 DISABLED=628, ALLOWED=629, HADR=630, MULTI_USER=631, RESTRICTED_USER=632,
143 SINGLE_USER=633, OFFLINE=634, EMERGENCY=635, SUSPEND=636, DATE_CORRELATION_OPTIMIZATION=637,
144 ELASTIC_POOL=638, SERVICE_OBJECTIVE=639, DATABASE_NAME=640, ALLOW_CONNECTIONS=641,
145 GEO=642, NAMED=643, DATEFIRST=644, BACKUP_STORAGE_REDUNDANCY=645, FORCE_FAILOVER_ALLOW_DATA_LOSS=646,
146 SECONDARY=647, FAILOVER=648, DEFAULT_FULLTEXT_LANGUAGE=649, DEFAULT_LANGUAGE=650,
147 INLINE=651, NESTED_TRIGGERS=652, TRANSFORM_NOISE_WORDS=653, TWO_DIGIT_YEAR_CUTOFF=654,
148 PERSISTENT_LOG_BUFFER=655, DIRECTORY_NAME=656, DATEFORMAT=657, DELAYED_DURABILITY=658,
149 AUTHORIZATION=659, TRANSFER=660, EXPLAIN=661, WITH_RECOMMENDATIONS=662,
150 BATCH_SIZE=663, SETUSER=664, NORESET=665, DEFAULT_SCHEMA=666, ALLOW_ENCRYPTED_VALUE_MODIFICATIONS=667,
151 OLD_PASSWORD=668, PROVIDER=669, SID=670, UNCOMMITTED=671, COMMITTED=672,
152 STOPLIST=673, SEARCH=674, PROPERTY=675, LIST=676, SEND=677, MEMBER=678,
153 HASHED=679, MUST_CHANGE=680, DEFAULT_DATABASE=681, CHECK_EXPIRATION=682,
154 CHECK_POLICY=683, WINDOWS=684, UNLOCK=685, REVERT=686, COOKIE=687, BROWSE=688,
155 RAW=689, XMLDATA=690, XMLSCHEMA=691, ELEMENTS=692, XSINIL=693, ABSENT=694,
156 EXPLICIT=695, PATH=696, BASE64=697, ROOT=698, JSON=699, INCLUDE_NULL_VALUES=700,
157 WITHOUT_ARRAY_WRAPPER=701, XMLNAMESPACES=702, STATISTICS=703, FULLSCAN=704,
158 SAMPLE=705, RESAMPLE=706, NORECOMPUTE=707, AUTO_DROP=708, PERSIST_SAMPLE_PERCENT=709,
159 OPENJSON=710, OPENROWSET=711, IDENTIFIER_=712, DELIMITED_IDENTIFIER_=713,
160 STRING_=714, NUMBER_=715, INT_NUM_=716, FLOAT_NUM_=717, DECIMAL_NUM_=718,
161 HEX_DIGIT_=719, BIT_NUM_=720, NCHAR_TEXT=721;
162 public static final int
163 RULE_execute = 0, RULE_setTransaction = 1, RULE_isolationLevel = 2, RULE_setImplicitTransactions = 3,
164 RULE_implicitTransactionsValue = 4, RULE_beginTransaction = 5, RULE_beginDistributedTransaction = 6,
165 RULE_commit = 7, RULE_commitWork = 8, RULE_rollback = 9, RULE_rollbackWork = 10,
166 RULE_savepoint = 11, RULE_parameterMarker = 12, RULE_literals = 13, RULE_stringLiterals = 14,
167 RULE_numberLiterals = 15, RULE_dateTimeLiterals = 16, RULE_hexadecimalLiterals = 17,
168 RULE_bitValueLiterals = 18, RULE_booleanLiterals = 19, RULE_nullValueLiterals = 20,
169 RULE_identifier = 21, RULE_regularIdentifier = 22, RULE_delimitedIdentifier = 23,
170 RULE_unreservedWord = 24, RULE_databaseName = 25, RULE_schemaName = 26,
171 RULE_functionName = 27, RULE_procedureName = 28, RULE_viewName = 29, RULE_triggerName = 30,
172 RULE_sequenceName = 31, RULE_tableName = 32, RULE_queueName = 33, RULE_contractName = 34,
173 RULE_serviceName = 35, RULE_columnName = 36, RULE_scriptVariableName = 37,
174 RULE_owner = 38, RULE_name = 39, RULE_columnNames = 40, RULE_columnNamesWithSort = 41,
175 RULE_tableNames = 42, RULE_indexName = 43, RULE_constraintName = 44, RULE_collationName = 45,
176 RULE_alias = 46, RULE_dataTypeLength = 47, RULE_primaryKey = 48, RULE_expr = 49,
177 RULE_andOperator = 50, RULE_orOperator = 51, RULE_distinctFrom = 52, RULE_notOperator = 53,
178 RULE_booleanPrimary = 54, RULE_comparisonOperator = 55, RULE_predicate = 56,
179 RULE_bitExpr = 57, RULE_simpleExpr = 58, RULE_functionCall = 59, RULE_aggregationFunction = 60,
180 RULE_aggregationFunctionName = 61, RULE_distinct = 62, RULE_specialFunction = 63,
181 RULE_castFunction = 64, RULE_convertFunction = 65, RULE_charFunction = 66,
182 RULE_openJsonFunction = 67, RULE_openJsonWithclause = 68, RULE_jsonColumnDefinition = 69,
183 RULE_openRowSetFunction = 70, RULE_regularFunction = 71, RULE_regularFunctionName = 72,
184 RULE_caseExpression = 73, RULE_caseWhen = 74, RULE_caseElse = 75, RULE_privateExprOfDb = 76,
185 RULE_orderByClause = 77, RULE_orderByItem = 78, RULE_dataType = 79, RULE_dataTypeName = 80,
186 RULE_atTimeZoneExpr = 81, RULE_castExpr = 82, RULE_convertExpr = 83, RULE_windowedFunction = 84,
187 RULE_overClause = 85, RULE_partitionByClause = 86, RULE_rowRangeClause = 87,
188 RULE_windowFrameExtent = 88, RULE_windowFrameBetween = 89, RULE_windowFrameBound = 90,
189 RULE_windowFramePreceding = 91, RULE_windowFrameFollowing = 92, RULE_columnNameWithSort = 93,
190 RULE_indexOption = 94, RULE_compressionOption = 95, RULE_eqTime = 96,
191 RULE_eqOnOffOption = 97, RULE_eqKey = 98, RULE_eqOnOff = 99, RULE_onPartitionClause = 100,
192 RULE_partitionExpressions = 101, RULE_partitionExpression = 102, RULE_numberRange = 103,
193 RULE_lowPriorityLockWait = 104, RULE_onLowPriorLockWait = 105, RULE_ignoredIdentifier = 106,
194 RULE_ignoredIdentifiers = 107, RULE_matchNone = 108, RULE_variableName = 109,
195 RULE_executeAsClause = 110, RULE_transactionName = 111, RULE_transactionVariableName = 112,
196 RULE_savepointName = 113, RULE_savepointVariableName = 114, RULE_entityType = 115,
197 RULE_ifExists = 116, RULE_tableHintLimited = 117, RULE_call = 118, RULE_explain = 119,
198 RULE_explainableStatement = 120, RULE_createTable = 121, RULE_createTableClause = 122,
199 RULE_createIndex = 123, RULE_createDatabase = 124, RULE_createFunction = 125,
200 RULE_createProcedure = 126, RULE_createView = 127, RULE_createTrigger = 128,
201 RULE_createSequence = 129, RULE_createService = 130, RULE_createSchema = 131,
202 RULE_alterTable = 132, RULE_alterIndex = 133, RULE_alterDatabase = 134,
203 RULE_alterProcedure = 135, RULE_alterFunction = 136, RULE_alterView = 137,
204 RULE_alterTrigger = 138, RULE_alterSequence = 139, RULE_alterService = 140,
205 RULE_alterSchema = 141, RULE_dropTable = 142, RULE_dropIndex = 143, RULE_dropDatabase = 144,
206 RULE_dropFunction = 145, RULE_dropProcedure = 146, RULE_dropView = 147,
207 RULE_dropTrigger = 148, RULE_dropSequence = 149, RULE_dropService = 150,
208 RULE_dropSchema = 151, RULE_truncateTable = 152, RULE_updateStatistics = 153,
209 RULE_statisticsWithClause = 154, RULE_sampleOption = 155, RULE_statisticsOptions = 156,
210 RULE_statisticsOption = 157, RULE_fileTableClause = 158, RULE_createDefinitionClause = 159,
211 RULE_createTableDefinitions = 160, RULE_createTableDefinition = 161, RULE_columnDefinition = 162,
212 RULE_columnDefinitionOption = 163, RULE_encryptedOptions = 164, RULE_columnConstraint = 165,
213 RULE_computedColumnConstraint = 166, RULE_computedColumnForeignKeyConstraint = 167,
214 RULE_computedColumnForeignKeyOnAction = 168, RULE_primaryKeyConstraint = 169,
215 RULE_diskTablePrimaryKeyConstraintOption = 170, RULE_clusterOption = 171,
216 RULE_primaryKeyWithClause = 172, RULE_primaryKeyOnClause = 173, RULE_onSchemaColumn = 174,
217 RULE_onFileGroup = 175, RULE_onString = 176, RULE_memoryTablePrimaryKeyConstraintOption = 177,
218 RULE_withBucket = 178, RULE_columnForeignKeyConstraint = 179, RULE_foreignKeyOnAction = 180,
219 RULE_foreignKeyOn = 181, RULE_checkConstraint = 182, RULE_columnIndex = 183,
220 RULE_withIndexOption = 184, RULE_indexOnClause = 185, RULE_onDefault = 186,
221 RULE_fileStreamOn = 187, RULE_columnConstraints = 188, RULE_computedColumnDefinition = 189,
222 RULE_columnSetDefinition = 190, RULE_tableConstraint = 191, RULE_tablePrimaryConstraint = 192,
223 RULE_primaryKeyUnique = 193, RULE_diskTablePrimaryConstraintOption = 194,
224 RULE_memoryTablePrimaryConstraintOption = 195, RULE_hashWithBucket = 196,
225 RULE_tableForeignKeyConstraint = 197, RULE_tableIndex = 198, RULE_indexNameOption = 199,
226 RULE_indexOptions = 200, RULE_periodClause = 201, RULE_partitionScheme = 202,
227 RULE_fileGroup = 203, RULE_tableOptions = 204, RULE_tableOption = 205,
228 RULE_dataDelectionOption = 206, RULE_tableStretchOptions = 207, RULE_tableStretchOption = 208,
229 RULE_migrationState_ = 209, RULE_tableOperationOption = 210, RULE_distributionOption = 211,
230 RULE_dataWareHouseTableOption = 212, RULE_dataWareHousePartitionOption = 213,
231 RULE_createIndexSpecification = 214, RULE_alterDefinitionClause = 215,
232 RULE_addColumnSpecification = 216, RULE_modifyColumnSpecification = 217,
233 RULE_alterColumnOperation = 218, RULE_alterColumnAddOptions = 219, RULE_alterColumnAddOption = 220,
234 RULE_constraintForColumn = 221, RULE_generatedColumnNamesClause = 222,
235 RULE_generatedColumnNameClause = 223, RULE_generatedColumnName = 224,
236 RULE_alterDrop = 225, RULE_alterTableDropConstraint = 226, RULE_dropConstraintName = 227,
237 RULE_dropConstraintWithClause = 228, RULE_dropConstraintOption = 229,
238 RULE_onOffOption = 230, RULE_dropColumnSpecification = 231, RULE_dropIndexSpecification = 232,
239 RULE_alterCheckConstraint = 233, RULE_alterTableTrigger = 234, RULE_alterSwitch = 235,
240 RULE_alterSet = 236, RULE_setFileStreamClause = 237, RULE_setSystemVersionClause = 238,
241 RULE_alterSetOnClause = 239, RULE_dataConsistencyCheckClause = 240, RULE_historyRetentionPeriodClause = 241,
242 RULE_historyRetentionPeriod = 242, RULE_alterTableTableIndex = 243, RULE_indexWithName = 244,
243 RULE_indexNonClusterClause = 245, RULE_alterTableIndexOnClause = 246,
244 RULE_indexClusterClause = 247, RULE_alterTableOption = 248, RULE_onHistoryTableClause = 249,
245 RULE_createDatabaseClause = 250, RULE_fileDefinitionClause = 251, RULE_databaseOption = 252,
246 RULE_fileStreamOption = 253, RULE_fileSpec = 254, RULE_databaseFileSpecOption = 255,
247 RULE_databaseFileGroup = 256, RULE_databaseFileGroupContains = 257, RULE_databaseLogOns = 258,
248 RULE_declareVariable = 259, RULE_variable = 260, RULE_tableVariable = 261,
249 RULE_variTableTypeDefinition = 262, RULE_tableVariableClause = 263, RULE_variableTableColumnDefinition = 264,
250 RULE_variableTableColumnConstraint = 265, RULE_variableTableConstraint = 266,
251 RULE_setVariable = 267, RULE_setVariableClause = 268, RULE_cursorVariable = 269,
252 RULE_cursorClause = 270, RULE_compoundOperation = 271, RULE_funcParameters = 272,
253 RULE_funcReturns = 273, RULE_funcMutiReturn = 274, RULE_funcInlineReturn = 275,
254 RULE_funcScalarReturn = 276, RULE_tableTypeDefinition = 277, RULE_compoundStatement = 278,
255 RULE_functionOption = 279, RULE_validStatement = 280, RULE_procParameters = 281,
256 RULE_procParameter = 282, RULE_createOrAlterProcClause = 283, RULE_withCreateProcOption = 284,
257 RULE_procOption = 285, RULE_procAsClause = 286, RULE_procSetOption = 287,
258 RULE_createOrAlterViewClause = 288, RULE_viewAttribute = 289, RULE_withCommonTableExpr = 290,
259 RULE_commonTableExpr = 291, RULE_createTriggerClause = 292, RULE_dmlTriggerOption = 293,
260 RULE_methodSpecifier = 294, RULE_triggerTarget = 295, RULE_createOrAlterSequenceClause = 296,
261 RULE_createIndexClause = 297, RULE_filterPredicate = 298, RULE_conjunct = 299,
262 RULE_alterIndexClause = 300, RULE_relationalIndexOption = 301, RULE_partitionNumberRange = 302,
263 RULE_reorganizeOption = 303, RULE_setIndexOption = 304, RULE_resumableIndexOptions = 305,
264 RULE_alterDatabaseClause = 306, RULE_addSecondaryOption = 307, RULE_editionOptions = 308,
265 RULE_serviceObjective = 309, RULE_alterDatabaseOptionSpec = 310, RULE_fileAndFilegroupOptions = 311,
266 RULE_addOrModifyFilegroups = 312, RULE_filegroupUpdatabilityOption = 313,
267 RULE_addOrModifyFiles = 314, RULE_acceleratedDatabaseRecovery = 315, RULE_autoOption = 316,
268 RULE_automaticTuningOption = 317, RULE_changeTrackingOption = 318, RULE_changeTrackingOptionList = 319,
269 RULE_cursorOption = 320, RULE_externalAccessOption = 321, RULE_queryStoreOptions = 322,
270 RULE_queryStoreOptionList = 323, RULE_queryCapturePolicyOptionList = 324,
271 RULE_recoveryOption = 325, RULE_sqlOption = 326, RULE_snapshotOption = 327,
272 RULE_serviceBrokerOption = 328, RULE_targetRecoveryTimeOption = 329, RULE_termination = 330,
273 RULE_createServiceClause = 331, RULE_alterServiceClause = 332, RULE_alterServiceOptArg = 333,
274 RULE_schemaNameClause = 334, RULE_schemaElement = 335, RULE_createTableAsSelectClause = 336,
275 RULE_createTableAsSelect = 337, RULE_createRemoteTableAsSelect = 338,
276 RULE_withDistributionOption = 339, RULE_optionQueryHintClause = 340, RULE_insert = 341,
277 RULE_insertDefaultValue = 342, RULE_insertValuesClause = 343, RULE_insertSelectClause = 344,
278 RULE_insertExecClause = 345, RULE_withTableHint = 346, RULE_exec = 347,
279 RULE_update = 348, RULE_assignment = 349, RULE_setAssignmentsClause = 350,
280 RULE_assignmentValues = 351, RULE_assignmentValue = 352, RULE_delete = 353,
281 RULE_singleTableClause = 354, RULE_multipleTablesClause = 355, RULE_multipleTableNames = 356,
282 RULE_select = 357, RULE_aggregationClause = 358, RULE_selectClause = 359,
283 RULE_duplicateSpecification = 360, RULE_projections = 361, RULE_projection = 362,
284 RULE_top = 363, RULE_topNum = 364, RULE_unqualifiedShorthand = 365, RULE_qualifiedShorthand = 366,
285 RULE_fromClause = 367, RULE_tableReferences = 368, RULE_tableReference = 369,
286 RULE_tableFactor = 370, RULE_joinedTable = 371, RULE_joinSpecification = 372,
287 RULE_whereClause = 373, RULE_groupByClause = 374, RULE_havingClause = 375,
288 RULE_subquery = 376, RULE_withClause = 377, RULE_cteClauseSet = 378, RULE_cteClause = 379,
289 RULE_outputClause = 380, RULE_outputWithColumns = 381, RULE_outputWithColumn = 382,
290 RULE_outputWithAaterisk = 383, RULE_outputTableName = 384, RULE_queryHint = 385,
291 RULE_useHitName = 386, RULE_forClause = 387, RULE_forXmlClause = 388,
292 RULE_commonDirectivesForXml = 389, RULE_forJsonClause = 390, RULE_selectWithClause = 391,
293 RULE_xmlNamespacesClause = 392, RULE_xmlNamespaceDeclarationItem = 393,
294 RULE_xmlNamespaceUri = 394, RULE_xmlNamespacePrefix = 395, RULE_xmlDefaultNamespaceDeclarationItem = 396,
295 RULE_grant = 397, RULE_grantClassPrivilegesClause = 398, RULE_grantClassTypePrivilegesClause = 399,
296 RULE_classPrivileges = 400, RULE_onClassClause = 401, RULE_classTypePrivileges = 402,
297 RULE_onClassTypeClause = 403, RULE_securable = 404, RULE_principal = 405,
298 RULE_revoke = 406, RULE_revokeClassPrivilegesClause = 407, RULE_revokeClassTypePrivilegesClause = 408,
299 RULE_deny = 409, RULE_denyClassPrivilegesClause = 410, RULE_denyClassTypePrivilegesClause = 411,
300 RULE_optionForClause = 412, RULE_privilegeType = 413, RULE_objectPermission = 414,
301 RULE_serverPermission = 415, RULE_serverPrincipalPermission = 416, RULE_databasePermission = 417,
302 RULE_databasePrincipalPermission = 418, RULE_databaseUserPermission = 419,
303 RULE_databaseRolePermission = 420, RULE_applicationRolePermission = 421,
304 RULE_databaseScopedCredentialPermission = 422, RULE_schemaPermission = 423,
305 RULE_searchPropertyListPermission = 424, RULE_serviceBrokerPermission = 425,
306 RULE_serviceBrokerContractsPermission = 426, RULE_serviceBrokerMessageTypesPermission = 427,
307 RULE_serviceBrokerRemoteServiceBindingsPermission = 428, RULE_serviceBrokerRoutesPermission = 429,
308 RULE_serviceBrokerServicesPermission = 430, RULE_endpointPermission = 431,
309 RULE_certificatePermission = 432, RULE_symmetricKeyPermission = 433, RULE_asymmetricKeyPermission = 434,
310 RULE_assemblyPermission = 435, RULE_availabilityGroupPermission = 436,
311 RULE_fullTextPermission = 437, RULE_fullTextCatalogPermission = 438, RULE_fullTextStoplistPermission = 439,
312 RULE_typePermission = 440, RULE_xmlSchemaCollectionPermission = 441, RULE_systemObjectPermission = 442,
313 RULE_class_ = 443, RULE_classItem = 444, RULE_classType = 445, RULE_roleClause = 446,
314 RULE_setUser = 447, RULE_createUser = 448, RULE_createUserLoginClause = 449,
315 RULE_createUserWindowsPrincipalClause = 450, RULE_createUserLoginWindowsPrincipalClause = 451,
316 RULE_createUserWithoutLoginClause = 452, RULE_optionsList = 453, RULE_limitedOptionsList = 454,
317 RULE_createUserFromExternalProviderClause = 455, RULE_createUserWithDefaultSchema = 456,
318 RULE_createUserWithAzureActiveDirectoryPrincipalClause = 457, RULE_windowsPrincipal = 458,
319 RULE_azureActiveDirectoryPrincipal = 459, RULE_userName = 460, RULE_ignoredNameIdentifier = 461,
320 RULE_dropUser = 462, RULE_alterUser = 463, RULE_setItem = 464, RULE_createRole = 465,
321 RULE_dropRole = 466, RULE_alterRole = 467, RULE_createLogin = 468, RULE_createLoginForSQLServerClause = 469,
322 RULE_createLoginForSQLServerOptionList = 470, RULE_createLoginForSQLServerOptionListClause = 471,
323 RULE_hashedPassword = 472, RULE_sid = 473, RULE_sources = 474, RULE_windowsOptions = 475,
324 RULE_createLoginForAzureSQLDatabaseClause = 476, RULE_createLoginForAzureSQLDatabaseOptionList = 477,
325 RULE_createLoginForAzureManagedInstanceClause = 478, RULE_azureManagedInstanceOptionList = 479,
326 RULE_createLoginForAzureSynapseAnalyticsClause = 480, RULE_createLoginForAzureSynapseAnalyticsOptionList = 481,
327 RULE_createLoginForAnalyticsPlatformSystemClause = 482, RULE_createLoginForAnalyticsPlatformSystemOptionList = 483,
328 RULE_createLoginForAnalyticsPlatformSystemOptionListClause = 484, RULE_dropLogin = 485,
329 RULE_alterLogin = 486, RULE_statusOptionClause = 487, RULE_setOptionClause = 488,
330 RULE_passwordOptionClause = 489, RULE_cryptographicCredentialsOptionClause = 490,
331 RULE_revert = 491;
332 private static String[] makeRuleNames() {
333 return new String[] {
334 "execute", "setTransaction", "isolationLevel", "setImplicitTransactions",
335 "implicitTransactionsValue", "beginTransaction", "beginDistributedTransaction",
336 "commit", "commitWork", "rollback", "rollbackWork", "savepoint", "parameterMarker",
337 "literals", "stringLiterals", "numberLiterals", "dateTimeLiterals", "hexadecimalLiterals",
338 "bitValueLiterals", "booleanLiterals", "nullValueLiterals", "identifier",
339 "regularIdentifier", "delimitedIdentifier", "unreservedWord", "databaseName",
340 "schemaName", "functionName", "procedureName", "viewName", "triggerName",
341 "sequenceName", "tableName", "queueName", "contractName", "serviceName",
342 "columnName", "scriptVariableName", "owner", "name", "columnNames", "columnNamesWithSort",
343 "tableNames", "indexName", "constraintName", "collationName", "alias",
344 "dataTypeLength", "primaryKey", "expr", "andOperator", "orOperator",
345 "distinctFrom", "notOperator", "booleanPrimary", "comparisonOperator",
346 "predicate", "bitExpr", "simpleExpr", "functionCall", "aggregationFunction",
347 "aggregationFunctionName", "distinct", "specialFunction", "castFunction",
348 "convertFunction", "charFunction", "openJsonFunction", "openJsonWithclause",
349 "jsonColumnDefinition", "openRowSetFunction", "regularFunction", "regularFunctionName",
350 "caseExpression", "caseWhen", "caseElse", "privateExprOfDb", "orderByClause",
351 "orderByItem", "dataType", "dataTypeName", "atTimeZoneExpr", "castExpr",
352 "convertExpr", "windowedFunction", "overClause", "partitionByClause",
353 "rowRangeClause", "windowFrameExtent", "windowFrameBetween", "windowFrameBound",
354 "windowFramePreceding", "windowFrameFollowing", "columnNameWithSort",
355 "indexOption", "compressionOption", "eqTime", "eqOnOffOption", "eqKey",
356 "eqOnOff", "onPartitionClause", "partitionExpressions", "partitionExpression",
357 "numberRange", "lowPriorityLockWait", "onLowPriorLockWait", "ignoredIdentifier",
358 "ignoredIdentifiers", "matchNone", "variableName", "executeAsClause",
359 "transactionName", "transactionVariableName", "savepointName", "savepointVariableName",
360 "entityType", "ifExists", "tableHintLimited", "call", "explain", "explainableStatement",
361 "createTable", "createTableClause", "createIndex", "createDatabase",
362 "createFunction", "createProcedure", "createView", "createTrigger", "createSequence",
363 "createService", "createSchema", "alterTable", "alterIndex", "alterDatabase",
364 "alterProcedure", "alterFunction", "alterView", "alterTrigger", "alterSequence",
365 "alterService", "alterSchema", "dropTable", "dropIndex", "dropDatabase",
366 "dropFunction", "dropProcedure", "dropView", "dropTrigger", "dropSequence",
367 "dropService", "dropSchema", "truncateTable", "updateStatistics", "statisticsWithClause",
368 "sampleOption", "statisticsOptions", "statisticsOption", "fileTableClause",
369 "createDefinitionClause", "createTableDefinitions", "createTableDefinition",
370 "columnDefinition", "columnDefinitionOption", "encryptedOptions", "columnConstraint",
371 "computedColumnConstraint", "computedColumnForeignKeyConstraint", "computedColumnForeignKeyOnAction",
372 "primaryKeyConstraint", "diskTablePrimaryKeyConstraintOption", "clusterOption",
373 "primaryKeyWithClause", "primaryKeyOnClause", "onSchemaColumn", "onFileGroup",
374 "onString", "memoryTablePrimaryKeyConstraintOption", "withBucket", "columnForeignKeyConstraint",
375 "foreignKeyOnAction", "foreignKeyOn", "checkConstraint", "columnIndex",
376 "withIndexOption", "indexOnClause", "onDefault", "fileStreamOn", "columnConstraints",
377 "computedColumnDefinition", "columnSetDefinition", "tableConstraint",
378 "tablePrimaryConstraint", "primaryKeyUnique", "diskTablePrimaryConstraintOption",
379 "memoryTablePrimaryConstraintOption", "hashWithBucket", "tableForeignKeyConstraint",
380 "tableIndex", "indexNameOption", "indexOptions", "periodClause", "partitionScheme",
381 "fileGroup", "tableOptions", "tableOption", "dataDelectionOption", "tableStretchOptions",
382 "tableStretchOption", "migrationState_", "tableOperationOption", "distributionOption",
383 "dataWareHouseTableOption", "dataWareHousePartitionOption", "createIndexSpecification",
384 "alterDefinitionClause", "addColumnSpecification", "modifyColumnSpecification",
385 "alterColumnOperation", "alterColumnAddOptions", "alterColumnAddOption",
386 "constraintForColumn", "generatedColumnNamesClause", "generatedColumnNameClause",
387 "generatedColumnName", "alterDrop", "alterTableDropConstraint", "dropConstraintName",
388 "dropConstraintWithClause", "dropConstraintOption", "onOffOption", "dropColumnSpecification",
389 "dropIndexSpecification", "alterCheckConstraint", "alterTableTrigger",
390 "alterSwitch", "alterSet", "setFileStreamClause", "setSystemVersionClause",
391 "alterSetOnClause", "dataConsistencyCheckClause", "historyRetentionPeriodClause",
392 "historyRetentionPeriod", "alterTableTableIndex", "indexWithName", "indexNonClusterClause",
393 "alterTableIndexOnClause", "indexClusterClause", "alterTableOption",
394 "onHistoryTableClause", "createDatabaseClause", "fileDefinitionClause",
395 "databaseOption", "fileStreamOption", "fileSpec", "databaseFileSpecOption",
396 "databaseFileGroup", "databaseFileGroupContains", "databaseLogOns", "declareVariable",
397 "variable", "tableVariable", "variTableTypeDefinition", "tableVariableClause",
398 "variableTableColumnDefinition", "variableTableColumnConstraint", "variableTableConstraint",
399 "setVariable", "setVariableClause", "cursorVariable", "cursorClause",
400 "compoundOperation", "funcParameters", "funcReturns", "funcMutiReturn",
401 "funcInlineReturn", "funcScalarReturn", "tableTypeDefinition", "compoundStatement",
402 "functionOption", "validStatement", "procParameters", "procParameter",
403 "createOrAlterProcClause", "withCreateProcOption", "procOption", "procAsClause",
404 "procSetOption", "createOrAlterViewClause", "viewAttribute", "withCommonTableExpr",
405 "commonTableExpr", "createTriggerClause", "dmlTriggerOption", "methodSpecifier",
406 "triggerTarget", "createOrAlterSequenceClause", "createIndexClause",
407 "filterPredicate", "conjunct", "alterIndexClause", "relationalIndexOption",
408 "partitionNumberRange", "reorganizeOption", "setIndexOption", "resumableIndexOptions",
409 "alterDatabaseClause", "addSecondaryOption", "editionOptions", "serviceObjective",
410 "alterDatabaseOptionSpec", "fileAndFilegroupOptions", "addOrModifyFilegroups",
411 "filegroupUpdatabilityOption", "addOrModifyFiles", "acceleratedDatabaseRecovery",
412 "autoOption", "automaticTuningOption", "changeTrackingOption", "changeTrackingOptionList",
413 "cursorOption", "externalAccessOption", "queryStoreOptions", "queryStoreOptionList",
414 "queryCapturePolicyOptionList", "recoveryOption", "sqlOption", "snapshotOption",
415 "serviceBrokerOption", "targetRecoveryTimeOption", "termination", "createServiceClause",
416 "alterServiceClause", "alterServiceOptArg", "schemaNameClause", "schemaElement",
417 "createTableAsSelectClause", "createTableAsSelect", "createRemoteTableAsSelect",
418 "withDistributionOption", "optionQueryHintClause", "insert", "insertDefaultValue",
419 "insertValuesClause", "insertSelectClause", "insertExecClause", "withTableHint",
420 "exec", "update", "assignment", "setAssignmentsClause", "assignmentValues",
421 "assignmentValue", "delete", "singleTableClause", "multipleTablesClause",
422 "multipleTableNames", "select", "aggregationClause", "selectClause",
423 "duplicateSpecification", "projections", "projection", "top", "topNum",
424 "unqualifiedShorthand", "qualifiedShorthand", "fromClause", "tableReferences",
425 "tableReference", "tableFactor", "joinedTable", "joinSpecification",
426 "whereClause", "groupByClause", "havingClause", "subquery", "withClause",
427 "cteClauseSet", "cteClause", "outputClause", "outputWithColumns", "outputWithColumn",
428 "outputWithAaterisk", "outputTableName", "queryHint", "useHitName", "forClause",
429 "forXmlClause", "commonDirectivesForXml", "forJsonClause", "selectWithClause",
430 "xmlNamespacesClause", "xmlNamespaceDeclarationItem", "xmlNamespaceUri",
431 "xmlNamespacePrefix", "xmlDefaultNamespaceDeclarationItem", "grant",
432 "grantClassPrivilegesClause", "grantClassTypePrivilegesClause", "classPrivileges",
433 "onClassClause", "classTypePrivileges", "onClassTypeClause", "securable",
434 "principal", "revoke", "revokeClassPrivilegesClause", "revokeClassTypePrivilegesClause",
435 "deny", "denyClassPrivilegesClause", "denyClassTypePrivilegesClause",
436 "optionForClause", "privilegeType", "objectPermission", "serverPermission",
437 "serverPrincipalPermission", "databasePermission", "databasePrincipalPermission",
438 "databaseUserPermission", "databaseRolePermission", "applicationRolePermission",
439 "databaseScopedCredentialPermission", "schemaPermission", "searchPropertyListPermission",
440 "serviceBrokerPermission", "serviceBrokerContractsPermission", "serviceBrokerMessageTypesPermission",
441 "serviceBrokerRemoteServiceBindingsPermission", "serviceBrokerRoutesPermission",
442 "serviceBrokerServicesPermission", "endpointPermission", "certificatePermission",
443 "symmetricKeyPermission", "asymmetricKeyPermission", "assemblyPermission",
444 "availabilityGroupPermission", "fullTextPermission", "fullTextCatalogPermission",
445 "fullTextStoplistPermission", "typePermission", "xmlSchemaCollectionPermission",
446 "systemObjectPermission", "class_", "classItem", "classType", "roleClause",
447 "setUser", "createUser", "createUserLoginClause", "createUserWindowsPrincipalClause",
448 "createUserLoginWindowsPrincipalClause", "createUserWithoutLoginClause",
449 "optionsList", "limitedOptionsList", "createUserFromExternalProviderClause",
450 "createUserWithDefaultSchema", "createUserWithAzureActiveDirectoryPrincipalClause",
451 "windowsPrincipal", "azureActiveDirectoryPrincipal", "userName", "ignoredNameIdentifier",
452 "dropUser", "alterUser", "setItem", "createRole", "dropRole", "alterRole",
453 "createLogin", "createLoginForSQLServerClause", "createLoginForSQLServerOptionList",
454 "createLoginForSQLServerOptionListClause", "hashedPassword", "sid", "sources",
455 "windowsOptions", "createLoginForAzureSQLDatabaseClause", "createLoginForAzureSQLDatabaseOptionList",
456 "createLoginForAzureManagedInstanceClause", "azureManagedInstanceOptionList",
457 "createLoginForAzureSynapseAnalyticsClause", "createLoginForAzureSynapseAnalyticsOptionList",
458 "createLoginForAnalyticsPlatformSystemClause", "createLoginForAnalyticsPlatformSystemOptionList",
459 "createLoginForAnalyticsPlatformSystemOptionListClause", "dropLogin",
460 "alterLogin", "statusOptionClause", "setOptionClause", "passwordOptionClause",
461 "cryptographicCredentialsOptionClause", "revert"
462 };
463 }
464 public static final String[] ruleNames = makeRuleNames();
465
466 private static String[] makeLiteralNames() {
467 return new String[] {
468 null, "'Default does not match anything'", null, null, "'&&'", "'||'",
469 "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", "':'", "'+'",
470 "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", "'='", null,
471 "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", "'}'", "'['",
472 "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", "'$'", null,
473 null, null, null, null, null, null, null, null, null, null, null, null,
474 null, null, null, null, null, null, null, null, null, null, null, null,
475 null, null, null, null, null, null, null, null, null, null, null, null,
476 null, null, null, null, null, null, null, null, null, null, null, null,
477 null, null, null, null, null, null, null, null, null, null, null, null,
478 null, null, null, null, null, null, null, null, null, null, null, null,
479 null, null, null, null, null, null, null, null, null, null, null, null,
480 null, null, null, null, null, null, null, null, null, null, null, null,
481 null, null, null, null, null, null, null, null, null, null, null, null,
482 null, null, null, null, null, null, null, null, null, null, null, null,
483 null, null, null, null, null, null, null, null, null, null, null, null,
484 null, null, null, null, null, null, null, null, null, null, null, null,
485 null, null, null, null, null, null, null, null, null, null, null, null,
486 null, null, null, null, null, null, null, null, null, null, null, null,
487 null, null, null, null, null, null, null, null, null, null, null, null,
488 null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'"
489 };
490 }
491 private static final String[] _LITERAL_NAMES = makeLiteralNames();
492 private static String[] makeSymbolicNames() {
493 return new String[] {
494 null, null, "BLOCK_COMMENT", "INLINE_COMMENT", "AND_", "OR_", "NOT_",
495 "TILDE_", "VERTICAL_BAR_", "AMPERSAND_", "SIGNED_LEFT_SHIFT_", "SIGNED_RIGHT_SHIFT_",
496 "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_",
497 "BACKSLASH_", "DOT_", "DOT_ASTERISK_", "SAFE_EQ_", "DEQ_", "EQ_", "NEQ_",
498 "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_",
499 "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_",
500 "DOLLAR_", "WS", "SELECT", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER",
501 "DROP", "TRUNCATE", "SCHEMA", "GRANT", "REVOKE", "ADD", "SET", "TABLE",
502 "COLUMN", "COLUMNS", "INDEX", "CONSTRAINT", "PRIMARY", "UNIQUE", "FOREIGN",
503 "KEY", "POSITION", "PRECISION", "FUNCTION", "TRIGGER", "PROCEDURE", "PROC",
504 "VIEW", "INTO", "VALUES", "WITH", "UNION", "DISTINCT", "CASE", "WHEN",
505 "CAST", "TRIM", "SUBSTRING", "FROM", "NATURAL", "JOIN", "FULL", "INNER",
506 "OUTER", "LEFT", "RIGHT", "CROSS", "USING", "WHERE", "AS", "ON", "OFF",
507 "IF", "ELSE", "THEN", "FOR", "TO", "AND", "OR", "IS", "NOT", "NULL",
508 "TRUE", "FALSE", "EXISTS", "BETWEEN", "IN", "ALL", "ANY", "LIKE", "ORDER",
509 "GROUP", "BY", "ASC", "DESC", "HAVING", "LIMIT", "OFFSET", "BEGIN", "COMMIT",
510 "ROLLBACK", "SAVEPOINT", "BOOLEAN", "DOUBLE", "CHAR", "CHARACTER", "ARRAY",
511 "INTERVAL", "DATE", "TIME", "TIMESTAMP", "LOCALTIME", "LOCALTIMESTAMP",
512 "YEAR", "QUARTER", "MONTH", "WEEK", "DAY", "HOUR", "MINUTE", "SECOND",
513 "MICROSECOND", "MAX", "MIN", "SUM", "COUNT", "AVG", "DEFAULT", "CURRENT",
514 "ENABLE", "DISABLE", "CALL", "INSTANCE", "PRESERVE", "DO", "DEFINER",
515 "CURRENT_USER", "SQL", "CASCADED", "LOCAL", "CLOSE", "OPEN", "NEXT",
516 "NAME", "COLLATION", "NAMES", "INTEGER", "REAL", "DECIMAL", "TYPE", "BIT",
517 "SMALLINT", "INT", "TINYINT", "NUMERIC", "FLOAT", "BIGINT", "TEXT", "VARCHAR",
518 "PERCENT", "TIES", "EXCEPT", "INTERSECT", "USE", "MERGE", "LOOP", "EXPAND",
519 "VIEWS", "FAST", "FORCE", "KEEP", "PLAN", "OPTIMIZE", "SIMPLE", "FORCED",
520 "HINT", "READ_ONLY", "DATABASE", "DECLARE", "CURSOR", "OF", "RETURNS",
521 "DATEPART", "RETURN", "READONLY", "AT", "PASSWORD", "WITHOUT", "APPLY",
522 "KEEPIDENTITY", "KEEPDEFAULTS", "HOLDLOCK", "IGNORE_CONSTRAINTS", "IGNORE_TRIGGERS",
523 "NOLOCK", "NOWAIT", "PAGLOCK", "READCOMMITTED", "READCOMMITTEDLOCK",
524 "READPAST", "REPEATABLEREAD", "ROWLOCK", "TABLOCK", "TABLOCKX", "UPDLOCK",
525 "XLOCK", "FOR_GENERATOR", "BINARY", "ESCAPE", "HIDDEN_", "MOD", "PARTITION",
526 "PARTITIONS", "TOP", "ROW", "ROWS", "UNKNOWN", "XOR", "ALWAYS", "CASCADE",
527 "CHECK", "GENERATED", "NO", "OPTION", "PRIVILEGES", "REFERENCES", "USER",
528 "ROLE", "START", "TRANSACTION", "ACTION", "ALGORITHM", "AUTO", "BLOCKERS",
529 "CLUSTERED", "NONCLUSTERED", "COLLATE", "COLUMNSTORE", "CONTENT", "CONVERT",
530 "YEARS", "MONTHS", "WEEKS", "DAYS", "MINUTES", "DENY", "DETERMINISTIC",
531 "DISTRIBUTION", "DOCUMENT", "DURABILITY", "ENCRYPTED", "END", "FILESTREAM",
532 "FILETABLE", "FILLFACTOR", "FOLLOWING", "HASH", "HEAP", "IDENTITY", "INBOUND",
533 "OUTBOUND", "UNBOUNDED", "INFINITE", "LOGIN", "MASKED", "MAXDOP", "MOVE",
534 "NOCHECK", "NONE", "OBJECT", "ONLINE", "OVER", "PAGE", "PAUSED", "PERIOD",
535 "PERSISTED", "PRECEDING", "RANDOMIZED", "RANGE", "REBUILD", "REPLICATE",
536 "REPLICATION", "RESUMABLE", "ROWGUIDCOL", "SAVE", "SELF", "SPARSE", "SWITCH",
537 "TRAN", "TRANCOUNT", "ZONE", "EXECUTE", "EXEC", "SESSION", "CONNECT",
538 "CONNECTION", "CATALOG", "CONTROL", "CONCAT", "TAKE", "OWNERSHIP", "DEFINITION",
539 "APPLICATION", "ASSEMBLY", "SYMMETRIC", "ASYMMETRIC", "SERVER", "RECEIVE",
540 "CHANGE", "TRACE", "TRACKING", "RESOURCES", "SETTINGS", "STATE", "AVAILABILITY",
541 "CREDENTIAL", "ENDPOINT", "EVENT", "NOTIFICATION", "LINKED", "AUDIT",
542 "DDL", "XML", "IMPERSONATE", "SECURABLES", "AUTHENTICATE", "EXTERNAL",
543 "ACCESS", "ADMINISTER", "BULK", "OPERATIONS", "UNSAFE", "SHUTDOWN", "SCOPED",
544 "CONFIGURATION", "DATASPACE", "SERVICE", "CERTIFICATE", "CONTRACT", "ENCRYPTION",
545 "MASTER", "DATA", "SOURCE", "FILE", "FORMAT", "LIBRARY", "FULLTEXT",
546 "MASK", "UNMASK", "MESSAGE", "REMOTE", "BINDING", "ROUTE", "SECURITY",
547 "POLICY", "AGGREGATE", "QUEUE", "RULE", "SYNONYM", "COLLECTION", "SCRIPT",
548 "KILL", "BACKUP", "LOG", "SHOWPLAN", "SUBSCRIBE", "QUERY", "NOTIFICATIONS",
549 "CHECKPOINT", "SEQUENCE", "ABORT_AFTER_WAIT", "ALLOW_PAGE_LOCKS", "ALLOW_ROW_LOCKS",
550 "ALL_SPARSE_COLUMNS", "BUCKET_COUNT", "COLUMNSTORE_ARCHIVE", "COLUMN_ENCRYPTION_KEY",
551 "COLUMN_SET", "COMPRESSION_DELAY", "DATABASE_DEAULT", "DATA_COMPRESSION",
552 "DATA_CONSISTENCY_CHECK", "ENCRYPTION_TYPE", "SYSTEM_TIME", "SYSTEM_VERSIONING",
553 "TEXTIMAGE_ON", "WAIT_AT_LOW_PRIORITY", "STATISTICS_INCREMENTAL", "STATISTICS_NORECOMPUTE",
554 "ROUND_ROBIN", "SCHEMA_AND_DATA", "SCHEMA_ONLY", "SORT_IN_TEMPDB", "IGNORE_DUP_KEY",
555 "IMPLICIT_TRANSACTIONS", "MAX_DURATION", "MEMORY_OPTIMIZED", "MIGRATION_STATE",
556 "PAD_INDEX", "REMOTE_DATA_ARCHIVE", "FILESTREAM_ON", "FILETABLE_COLLATE_FILENAME",
557 "FILETABLE_DIRECTORY", "FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME", "FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME",
558 "FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME", "FILTER_PREDICATE", "HISTORY_RETENTION_PERIOD",
559 "HISTORY_TABLE", "LOCK_ESCALATION", "DROP_EXISTING", "ROW_NUMBER", "FETCH",
560 "FIRST", "ONLY", "MONEY", "SMALLMONEY", "DATETIMEOFFSET", "DATETIME",
561 "DATETIME2", "SMALLDATETIME", "NCHAR", "NVARCHAR", "NTEXT", "VARBINARY",
562 "IMAGE", "SQL_VARIANT", "UNIQUEIDENTIFIER", "HIERARCHYID", "GEOMETRY",
563 "GEOGRAPHY", "OUTPUT", "INSERTED", "DELETED", "ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS",
564 "ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES", "DISABLE_BATCH_MODE_ADAPTIVE_JOINS",
565 "DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK", "DISABLE_DEFERRED_COMPILATION_TV",
566 "DISABLE_INTERLEAVED_EXECUTION_TVF", "DISABLE_OPTIMIZED_NESTED_LOOP",
567 "DISABLE_OPTIMIZER_ROWGOAL", "DISABLE_PARAMETER_SNIFFING", "DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK",
568 "DISABLE_TSQL_SCALAR_UDF_INLINING", "DISALLOW_BATCH_MODE", "ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS",
569 "ENABLE_QUERY_OPTIMIZER_HOTFIXES", "FORCE_DEFAULT_CARDINALITY_ESTIMATION",
570 "FORCE_LEGACY_CARDINALITY_ESTIMATION", "QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n",
571 "QUERY_PLAN_PROFILE", "EXTERNALPUSHDOWN", "SCALEOUTEXECUTION", "IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX",
572 "KEEPFIXED", "MAX_GRANT_PERCENT", "MIN_GRANT_PERCENT", "MAXRECURSION",
573 "NO_PERFORMANCE_SPOOL", "PARAMETERIZATION", "QUERYTRACEON", "RECOMPILE",
574 "ROBUST", "OPTIMIZE_FOR_SEQUENTIAL_KEY", "DATA_DELETION", "FILTER_COLUMN",
575 "RETENTION_PERIOD", "CONTAINMENT", "PARTIAL", "FILENAME", "SIZE", "MAXSIZE",
576 "FILEGROWTH", "UNLIMITED", "KB", "MB", "GB", "TB", "CONTAINS", "MEMORY_OPTIMIZED_DATA",
577 "FILEGROUP", "NON_TRANSACTED_ACCESS", "DB_CHAINING", "TRUSTWORTHY", "FORWARD_ONLY",
578 "SCROLL", "STATIC", "KEYSET", "DYNAMIC", "FAST_FORWARD", "SCROLL_LOCKS",
579 "OPTIMISTIC", "TYPE_WARNING", "SCHEMABINDING", "CALLER", "INPUT", "CALLED",
580 "VARYING", "OUT", "OWNER", "ATOMIC", "LANGUAGE", "LEVEL", "ISOLATION",
581 "SNAPSHOT", "REPEATABLE", "READ", "SERIALIZABLE", "NATIVE_COMPILATION",
582 "VIEW_METADATA", "AFTER", "INSTEAD", "APPEND", "INCREMENT", "CYCLE",
583 "CACHE", "MINVALUE", "MAXVALUE", "RESTART", "LOB_COMPACTION", "COMPRESS_ALL_ROW_GROUPS",
584 "REORGANIZE", "RESUME", "PAUSE", "ABORT", "INCLUDE", "DISTRIBUTED", "MARK",
585 "WORK", "REMOVE", "AUTOGROW_SINGLE_FILE", "AUTOGROW_ALL_FILES", "READWRITE",
586 "READ_WRITE", "MODIFY", "ACCELERATED_DATABASE_RECOVERY", "PERSISTENT_VERSION_STORE_FILEGROUP",
587 "IMMEDIATE", "NO_WAIT", "TARGET_RECOVERY_TIME", "SECONDS", "HONOR_BROKER_PRIORITY",
588 "ERROR_BROKER_CONVERSATIONS", "NEW_BROKER", "DISABLE_BROKER", "ENABLE_BROKER",
589 "MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT", "READ_COMMITTED_SNAPSHOT", "ALLOW_SNAPSHOT_ISOLATION",
590 "RECURSIVE_TRIGGERS", "QUOTED_IDENTIFIER", "NUMERIC_ROUNDABORT", "CONCAT_NULL_YIELDS_NULL",
591 "COMPATIBILITY_LEVEL", "ARITHABORT", "ANSI_WARNINGS", "ANSI_PADDING",
592 "ANSI_NULLS", "ANSI_NULL_DEFAULT", "PAGE_VERIFY", "CHECKSUM", "TORN_PAGE_DETECTION",
593 "BULK_LOGGED", "RECOVERY", "TOTAL_EXECUTION_CPU_TIME_MS", "TOTAL_COMPILE_CPU_TIME_MS",
594 "STALE_CAPTURE_POLICY_THRESHOLD", "EXECUTION_COUNT", "QUERY_CAPTURE_POLICY",
595 "WAIT_STATS_CAPTURE_MODE", "MAX_PLANS_PER_QUERY", "QUERY_CAPTURE_MODE",
596 "SIZE_BASED_CLEANUP_MODE", "INTERVAL_LENGTH_MINUTES", "MAX_STORAGE_SIZE_MB",
597 "DATA_FLUSH_INTERVAL_SECONDS", "CLEANUP_POLICY", "CUSTOM", "STALE_QUERY_THRESHOLD_DAYS",
598 "OPERATION_MODE", "QUERY_STORE", "CURSOR_DEFAULT", "GLOBAL", "CURSOR_CLOSE_ON_COMMIT",
599 "HOURS", "CHANGE_RETENTION", "AUTO_CLEANUP", "CHANGE_TRACKING", "AUTOMATIC_TUNING",
600 "FORCE_LAST_GOOD_PLAN", "AUTO_UPDATE_STATISTICS_ASYNC", "AUTO_UPDATE_STATISTICS",
601 "AUTO_SHRINK", "AUTO_CREATE_STATISTICS", "INCREMENTAL", "AUTO_CLOSE",
602 "DATA_RETENTION", "TEMPORAL_HISTORY_RETENTION", "EDITION", "MIXED_PAGE_ALLOCATION",
603 "DISABLED", "ALLOWED", "HADR", "MULTI_USER", "RESTRICTED_USER", "SINGLE_USER",
604 "OFFLINE", "EMERGENCY", "SUSPEND", "DATE_CORRELATION_OPTIMIZATION", "ELASTIC_POOL",
605 "SERVICE_OBJECTIVE", "DATABASE_NAME", "ALLOW_CONNECTIONS", "GEO", "NAMED",
606 "DATEFIRST", "BACKUP_STORAGE_REDUNDANCY", "FORCE_FAILOVER_ALLOW_DATA_LOSS",
607 "SECONDARY", "FAILOVER", "DEFAULT_FULLTEXT_LANGUAGE", "DEFAULT_LANGUAGE",
608 "INLINE", "NESTED_TRIGGERS", "TRANSFORM_NOISE_WORDS", "TWO_DIGIT_YEAR_CUTOFF",
609 "PERSISTENT_LOG_BUFFER", "DIRECTORY_NAME", "DATEFORMAT", "DELAYED_DURABILITY",
610 "AUTHORIZATION", "TRANSFER", "EXPLAIN", "WITH_RECOMMENDATIONS", "BATCH_SIZE",
611 "SETUSER", "NORESET", "DEFAULT_SCHEMA", "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS",
612 "OLD_PASSWORD", "PROVIDER", "SID", "UNCOMMITTED", "COMMITTED", "STOPLIST",
613 "SEARCH", "PROPERTY", "LIST", "SEND", "MEMBER", "HASHED", "MUST_CHANGE",
614 "DEFAULT_DATABASE", "CHECK_EXPIRATION", "CHECK_POLICY", "WINDOWS", "UNLOCK",
615 "REVERT", "COOKIE", "BROWSE", "RAW", "XMLDATA", "XMLSCHEMA", "ELEMENTS",
616 "XSINIL", "ABSENT", "EXPLICIT", "PATH", "BASE64", "ROOT", "JSON", "INCLUDE_NULL_VALUES",
617 "WITHOUT_ARRAY_WRAPPER", "XMLNAMESPACES", "STATISTICS", "FULLSCAN", "SAMPLE",
618 "RESAMPLE", "NORECOMPUTE", "AUTO_DROP", "PERSIST_SAMPLE_PERCENT", "OPENJSON",
619 "OPENROWSET", "IDENTIFIER_", "DELIMITED_IDENTIFIER_", "STRING_", "NUMBER_",
620 "INT_NUM_", "FLOAT_NUM_", "DECIMAL_NUM_", "HEX_DIGIT_", "BIT_NUM_", "NCHAR_TEXT"
621 };
622 }
623 private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
624 public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
625
626
627
628
629 @Deprecated
630 public static final String[] tokenNames;
631 static {
632 tokenNames = new String[_SYMBOLIC_NAMES.length];
633 for (int i = 0; i < tokenNames.length; i++) {
634 tokenNames[i] = VOCABULARY.getLiteralName(i);
635 if (tokenNames[i] == null) {
636 tokenNames[i] = VOCABULARY.getSymbolicName(i);
637 }
638
639 if (tokenNames[i] == null) {
640 tokenNames[i] = "<INVALID>";
641 }
642 }
643 }
644
645 @Override
646 @Deprecated
647 public String[] getTokenNames() {
648 return tokenNames;
649 }
650
651 @Override
652
653 public Vocabulary getVocabulary() {
654 return VOCABULARY;
655 }
656
657 @Override
658 public String getGrammarFileName() { return "SQLServerStatement.g4"; }
659
660 @Override
661 public String[] getRuleNames() { return ruleNames; }
662
663 @Override
664 public String getSerializedATN() { return _serializedATN; }
665
666 @Override
667 public ATN getATN() { return _ATN; }
668
669 public SQLServerStatementParser(TokenStream input) {
670 super(input);
671 _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
672 }
673
674 public static class ExecuteContext extends ParserRuleContext {
675 public SelectContext select() {
676 return getRuleContext(SelectContext.class,0);
677 }
678 public InsertContext insert() {
679 return getRuleContext(InsertContext.class,0);
680 }
681 public UpdateContext update() {
682 return getRuleContext(UpdateContext.class,0);
683 }
684 public DeleteContext delete() {
685 return getRuleContext(DeleteContext.class,0);
686 }
687 public CreateIndexContext createIndex() {
688 return getRuleContext(CreateIndexContext.class,0);
689 }
690 public AlterIndexContext alterIndex() {
691 return getRuleContext(AlterIndexContext.class,0);
692 }
693 public DropIndexContext dropIndex() {
694 return getRuleContext(DropIndexContext.class,0);
695 }
696 public CreateTableContext createTable() {
697 return getRuleContext(CreateTableContext.class,0);
698 }
699 public CreateDatabaseContext createDatabase() {
700 return getRuleContext(CreateDatabaseContext.class,0);
701 }
702 public CreateProcedureContext createProcedure() {
703 return getRuleContext(CreateProcedureContext.class,0);
704 }
705 public CreateViewContext createView() {
706 return getRuleContext(CreateViewContext.class,0);
707 }
708 public CreateTriggerContext createTrigger() {
709 return getRuleContext(CreateTriggerContext.class,0);
710 }
711 public CreateSequenceContext createSequence() {
712 return getRuleContext(CreateSequenceContext.class,0);
713 }
714 public CreateServiceContext createService() {
715 return getRuleContext(CreateServiceContext.class,0);
716 }
717 public CreateSchemaContext createSchema() {
718 return getRuleContext(CreateSchemaContext.class,0);
719 }
720 public AlterTableContext alterTable() {
721 return getRuleContext(AlterTableContext.class,0);
722 }
723 public AlterTriggerContext alterTrigger() {
724 return getRuleContext(AlterTriggerContext.class,0);
725 }
726 public AlterSequenceContext alterSequence() {
727 return getRuleContext(AlterSequenceContext.class,0);
728 }
729 public AlterDatabaseContext alterDatabase() {
730 return getRuleContext(AlterDatabaseContext.class,0);
731 }
732 public AlterServiceContext alterService() {
733 return getRuleContext(AlterServiceContext.class,0);
734 }
735 public AlterSchemaContext alterSchema() {
736 return getRuleContext(AlterSchemaContext.class,0);
737 }
738 public AlterViewContext alterView() {
739 return getRuleContext(AlterViewContext.class,0);
740 }
741 public DropTableContext dropTable() {
742 return getRuleContext(DropTableContext.class,0);
743 }
744 public DropDatabaseContext dropDatabase() {
745 return getRuleContext(DropDatabaseContext.class,0);
746 }
747 public DropFunctionContext dropFunction() {
748 return getRuleContext(DropFunctionContext.class,0);
749 }
750 public DropProcedureContext dropProcedure() {
751 return getRuleContext(DropProcedureContext.class,0);
752 }
753 public DropViewContext dropView() {
754 return getRuleContext(DropViewContext.class,0);
755 }
756 public DropTriggerContext dropTrigger() {
757 return getRuleContext(DropTriggerContext.class,0);
758 }
759 public DropSequenceContext dropSequence() {
760 return getRuleContext(DropSequenceContext.class,0);
761 }
762 public DropServiceContext dropService() {
763 return getRuleContext(DropServiceContext.class,0);
764 }
765 public DropSchemaContext dropSchema() {
766 return getRuleContext(DropSchemaContext.class,0);
767 }
768 public TruncateTableContext truncateTable() {
769 return getRuleContext(TruncateTableContext.class,0);
770 }
771 public CreateFunctionContext createFunction() {
772 return getRuleContext(CreateFunctionContext.class,0);
773 }
774 public SetTransactionContext setTransaction() {
775 return getRuleContext(SetTransactionContext.class,0);
776 }
777 public BeginTransactionContext beginTransaction() {
778 return getRuleContext(BeginTransactionContext.class,0);
779 }
780 public BeginDistributedTransactionContext beginDistributedTransaction() {
781 return getRuleContext(BeginDistributedTransactionContext.class,0);
782 }
783 public SetImplicitTransactionsContext setImplicitTransactions() {
784 return getRuleContext(SetImplicitTransactionsContext.class,0);
785 }
786 public CommitContext commit() {
787 return getRuleContext(CommitContext.class,0);
788 }
789 public CommitWorkContext commitWork() {
790 return getRuleContext(CommitWorkContext.class,0);
791 }
792 public RollbackContext rollback() {
793 return getRuleContext(RollbackContext.class,0);
794 }
795 public RollbackWorkContext rollbackWork() {
796 return getRuleContext(RollbackWorkContext.class,0);
797 }
798 public SavepointContext savepoint() {
799 return getRuleContext(SavepointContext.class,0);
800 }
801 public GrantContext grant() {
802 return getRuleContext(GrantContext.class,0);
803 }
804 public RevokeContext revoke() {
805 return getRuleContext(RevokeContext.class,0);
806 }
807 public DenyContext deny() {
808 return getRuleContext(DenyContext.class,0);
809 }
810 public CreateUserContext createUser() {
811 return getRuleContext(CreateUserContext.class,0);
812 }
813 public DropUserContext dropUser() {
814 return getRuleContext(DropUserContext.class,0);
815 }
816 public AlterUserContext alterUser() {
817 return getRuleContext(AlterUserContext.class,0);
818 }
819 public CreateRoleContext createRole() {
820 return getRuleContext(CreateRoleContext.class,0);
821 }
822 public DropRoleContext dropRole() {
823 return getRuleContext(DropRoleContext.class,0);
824 }
825 public AlterRoleContext alterRole() {
826 return getRuleContext(AlterRoleContext.class,0);
827 }
828 public CreateLoginContext createLogin() {
829 return getRuleContext(CreateLoginContext.class,0);
830 }
831 public DropLoginContext dropLogin() {
832 return getRuleContext(DropLoginContext.class,0);
833 }
834 public AlterLoginContext alterLogin() {
835 return getRuleContext(AlterLoginContext.class,0);
836 }
837 public CallContext call() {
838 return getRuleContext(CallContext.class,0);
839 }
840 public ExplainContext explain() {
841 return getRuleContext(ExplainContext.class,0);
842 }
843 public SetUserContext setUser() {
844 return getRuleContext(SetUserContext.class,0);
845 }
846 public RevertContext revert() {
847 return getRuleContext(RevertContext.class,0);
848 }
849 public UpdateStatisticsContext updateStatistics() {
850 return getRuleContext(UpdateStatisticsContext.class,0);
851 }
852 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
853 public ExecuteContext(ParserRuleContext parent, int invokingState) {
854 super(parent, invokingState);
855 }
856 @Override public int getRuleIndex() { return RULE_execute; }
857 @Override
858 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
859 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecute(this);
860 else return visitor.visitChildren(this);
861 }
862 }
863
864 public final ExecuteContext execute() throws RecognitionException {
865 ExecuteContext _localctx = new ExecuteContext(_ctx, getState());
866 enterRule(_localctx, 0, RULE_execute);
867 int _la;
868 try {
869 enterOuterAlt(_localctx, 1);
870 {
871 setState(1043);
872 _errHandler.sync(this);
873 switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
874 case 1:
875 {
876 setState(984);
877 select();
878 }
879 break;
880 case 2:
881 {
882 setState(985);
883 insert();
884 }
885 break;
886 case 3:
887 {
888 setState(986);
889 update();
890 }
891 break;
892 case 4:
893 {
894 setState(987);
895 delete();
896 }
897 break;
898 case 5:
899 {
900 setState(988);
901 createIndex();
902 }
903 break;
904 case 6:
905 {
906 setState(989);
907 alterIndex();
908 }
909 break;
910 case 7:
911 {
912 setState(990);
913 dropIndex();
914 }
915 break;
916 case 8:
917 {
918 setState(991);
919 createTable();
920 }
921 break;
922 case 9:
923 {
924 setState(992);
925 createDatabase();
926 }
927 break;
928 case 10:
929 {
930 setState(993);
931 createProcedure();
932 }
933 break;
934 case 11:
935 {
936 setState(994);
937 createView();
938 }
939 break;
940 case 12:
941 {
942 setState(995);
943 createTrigger();
944 }
945 break;
946 case 13:
947 {
948 setState(996);
949 createSequence();
950 }
951 break;
952 case 14:
953 {
954 setState(997);
955 createService();
956 }
957 break;
958 case 15:
959 {
960 setState(998);
961 createSchema();
962 }
963 break;
964 case 16:
965 {
966 setState(999);
967 alterTable();
968 }
969 break;
970 case 17:
971 {
972 setState(1000);
973 alterTrigger();
974 }
975 break;
976 case 18:
977 {
978 setState(1001);
979 alterSequence();
980 }
981 break;
982 case 19:
983 {
984 setState(1002);
985 alterDatabase();
986 }
987 break;
988 case 20:
989 {
990 setState(1003);
991 alterService();
992 }
993 break;
994 case 21:
995 {
996 setState(1004);
997 alterSchema();
998 }
999 break;
1000 case 22:
1001 {
1002 setState(1005);
1003 alterView();
1004 }
1005 break;
1006 case 23:
1007 {
1008 setState(1006);
1009 dropTable();
1010 }
1011 break;
1012 case 24:
1013 {
1014 setState(1007);
1015 dropDatabase();
1016 }
1017 break;
1018 case 25:
1019 {
1020 setState(1008);
1021 dropFunction();
1022 }
1023 break;
1024 case 26:
1025 {
1026 setState(1009);
1027 dropProcedure();
1028 }
1029 break;
1030 case 27:
1031 {
1032 setState(1010);
1033 dropView();
1034 }
1035 break;
1036 case 28:
1037 {
1038 setState(1011);
1039 dropTrigger();
1040 }
1041 break;
1042 case 29:
1043 {
1044 setState(1012);
1045 dropSequence();
1046 }
1047 break;
1048 case 30:
1049 {
1050 setState(1013);
1051 dropService();
1052 }
1053 break;
1054 case 31:
1055 {
1056 setState(1014);
1057 dropSchema();
1058 }
1059 break;
1060 case 32:
1061 {
1062 setState(1015);
1063 truncateTable();
1064 }
1065 break;
1066 case 33:
1067 {
1068 setState(1016);
1069 createFunction();
1070 }
1071 break;
1072 case 34:
1073 {
1074 setState(1017);
1075 setTransaction();
1076 }
1077 break;
1078 case 35:
1079 {
1080 setState(1018);
1081 beginTransaction();
1082 }
1083 break;
1084 case 36:
1085 {
1086 setState(1019);
1087 beginDistributedTransaction();
1088 }
1089 break;
1090 case 37:
1091 {
1092 setState(1020);
1093 setImplicitTransactions();
1094 }
1095 break;
1096 case 38:
1097 {
1098 setState(1021);
1099 commit();
1100 }
1101 break;
1102 case 39:
1103 {
1104 setState(1022);
1105 commitWork();
1106 }
1107 break;
1108 case 40:
1109 {
1110 setState(1023);
1111 rollback();
1112 }
1113 break;
1114 case 41:
1115 {
1116 setState(1024);
1117 rollbackWork();
1118 }
1119 break;
1120 case 42:
1121 {
1122 setState(1025);
1123 savepoint();
1124 }
1125 break;
1126 case 43:
1127 {
1128 setState(1026);
1129 grant();
1130 }
1131 break;
1132 case 44:
1133 {
1134 setState(1027);
1135 revoke();
1136 }
1137 break;
1138 case 45:
1139 {
1140 setState(1028);
1141 deny();
1142 }
1143 break;
1144 case 46:
1145 {
1146 setState(1029);
1147 createUser();
1148 }
1149 break;
1150 case 47:
1151 {
1152 setState(1030);
1153 dropUser();
1154 }
1155 break;
1156 case 48:
1157 {
1158 setState(1031);
1159 alterUser();
1160 }
1161 break;
1162 case 49:
1163 {
1164 setState(1032);
1165 createRole();
1166 }
1167 break;
1168 case 50:
1169 {
1170 setState(1033);
1171 dropRole();
1172 }
1173 break;
1174 case 51:
1175 {
1176 setState(1034);
1177 alterRole();
1178 }
1179 break;
1180 case 52:
1181 {
1182 setState(1035);
1183 createLogin();
1184 }
1185 break;
1186 case 53:
1187 {
1188 setState(1036);
1189 dropLogin();
1190 }
1191 break;
1192 case 54:
1193 {
1194 setState(1037);
1195 alterLogin();
1196 }
1197 break;
1198 case 55:
1199 {
1200 setState(1038);
1201 call();
1202 }
1203 break;
1204 case 56:
1205 {
1206 setState(1039);
1207 explain();
1208 }
1209 break;
1210 case 57:
1211 {
1212 setState(1040);
1213 setUser();
1214 }
1215 break;
1216 case 58:
1217 {
1218 setState(1041);
1219 revert();
1220 }
1221 break;
1222 case 59:
1223 {
1224 setState(1042);
1225 updateStatistics();
1226 }
1227 break;
1228 }
1229 setState(1046);
1230 _errHandler.sync(this);
1231 _la = _input.LA(1);
1232 if (_la==SEMI_) {
1233 {
1234 setState(1045);
1235 match(SEMI_);
1236 }
1237 }
1238
1239 }
1240 }
1241 catch (RecognitionException re) {
1242 _localctx.exception = re;
1243 _errHandler.reportError(this, re);
1244 _errHandler.recover(this, re);
1245 }
1246 finally {
1247 exitRule();
1248 }
1249 return _localctx;
1250 }
1251
1252 public static class SetTransactionContext extends ParserRuleContext {
1253 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1254 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1255 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
1256 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
1257 public IsolationLevelContext isolationLevel() {
1258 return getRuleContext(IsolationLevelContext.class,0);
1259 }
1260 public SetTransactionContext(ParserRuleContext parent, int invokingState) {
1261 super(parent, invokingState);
1262 }
1263 @Override public int getRuleIndex() { return RULE_setTransaction; }
1264 @Override
1265 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1266 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetTransaction(this);
1267 else return visitor.visitChildren(this);
1268 }
1269 }
1270
1271 public final SetTransactionContext setTransaction() throws RecognitionException {
1272 SetTransactionContext _localctx = new SetTransactionContext(_ctx, getState());
1273 enterRule(_localctx, 2, RULE_setTransaction);
1274 try {
1275 enterOuterAlt(_localctx, 1);
1276 {
1277 setState(1048);
1278 match(SET);
1279 setState(1049);
1280 match(TRANSACTION);
1281 setState(1050);
1282 match(ISOLATION);
1283 setState(1051);
1284 match(LEVEL);
1285 setState(1052);
1286 isolationLevel();
1287 }
1288 }
1289 catch (RecognitionException re) {
1290 _localctx.exception = re;
1291 _errHandler.reportError(this, re);
1292 _errHandler.recover(this, re);
1293 }
1294 finally {
1295 exitRule();
1296 }
1297 return _localctx;
1298 }
1299
1300 public static class IsolationLevelContext extends ParserRuleContext {
1301 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
1302 public TerminalNode UNCOMMITTED() { return getToken(SQLServerStatementParser.UNCOMMITTED, 0); }
1303 public TerminalNode COMMITTED() { return getToken(SQLServerStatementParser.COMMITTED, 0); }
1304 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
1305 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
1306 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
1307 public IsolationLevelContext(ParserRuleContext parent, int invokingState) {
1308 super(parent, invokingState);
1309 }
1310 @Override public int getRuleIndex() { return RULE_isolationLevel; }
1311 @Override
1312 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1313 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIsolationLevel(this);
1314 else return visitor.visitChildren(this);
1315 }
1316 }
1317
1318 public final IsolationLevelContext isolationLevel() throws RecognitionException {
1319 IsolationLevelContext _localctx = new IsolationLevelContext(_ctx, getState());
1320 enterRule(_localctx, 4, RULE_isolationLevel);
1321 try {
1322 setState(1062);
1323 _errHandler.sync(this);
1324 switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
1325 case 1:
1326 enterOuterAlt(_localctx, 1);
1327 {
1328 setState(1054);
1329 match(READ);
1330 setState(1055);
1331 match(UNCOMMITTED);
1332 }
1333 break;
1334 case 2:
1335 enterOuterAlt(_localctx, 2);
1336 {
1337 setState(1056);
1338 match(READ);
1339 setState(1057);
1340 match(COMMITTED);
1341 }
1342 break;
1343 case 3:
1344 enterOuterAlt(_localctx, 3);
1345 {
1346 setState(1058);
1347 match(REPEATABLE);
1348 setState(1059);
1349 match(READ);
1350 }
1351 break;
1352 case 4:
1353 enterOuterAlt(_localctx, 4);
1354 {
1355 setState(1060);
1356 match(SNAPSHOT);
1357 }
1358 break;
1359 case 5:
1360 enterOuterAlt(_localctx, 5);
1361 {
1362 setState(1061);
1363 match(SERIALIZABLE);
1364 }
1365 break;
1366 }
1367 }
1368 catch (RecognitionException re) {
1369 _localctx.exception = re;
1370 _errHandler.reportError(this, re);
1371 _errHandler.recover(this, re);
1372 }
1373 finally {
1374 exitRule();
1375 }
1376 return _localctx;
1377 }
1378
1379 public static class SetImplicitTransactionsContext extends ParserRuleContext {
1380 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1381 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
1382 public ImplicitTransactionsValueContext implicitTransactionsValue() {
1383 return getRuleContext(ImplicitTransactionsValueContext.class,0);
1384 }
1385 public SetImplicitTransactionsContext(ParserRuleContext parent, int invokingState) {
1386 super(parent, invokingState);
1387 }
1388 @Override public int getRuleIndex() { return RULE_setImplicitTransactions; }
1389 @Override
1390 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1391 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetImplicitTransactions(this);
1392 else return visitor.visitChildren(this);
1393 }
1394 }
1395
1396 public final SetImplicitTransactionsContext setImplicitTransactions() throws RecognitionException {
1397 SetImplicitTransactionsContext _localctx = new SetImplicitTransactionsContext(_ctx, getState());
1398 enterRule(_localctx, 6, RULE_setImplicitTransactions);
1399 try {
1400 enterOuterAlt(_localctx, 1);
1401 {
1402 setState(1064);
1403 match(SET);
1404 setState(1065);
1405 match(IMPLICIT_TRANSACTIONS);
1406 setState(1066);
1407 implicitTransactionsValue();
1408 }
1409 }
1410 catch (RecognitionException re) {
1411 _localctx.exception = re;
1412 _errHandler.reportError(this, re);
1413 _errHandler.recover(this, re);
1414 }
1415 finally {
1416 exitRule();
1417 }
1418 return _localctx;
1419 }
1420
1421 public static class ImplicitTransactionsValueContext extends ParserRuleContext {
1422 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1423 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1424 public ImplicitTransactionsValueContext(ParserRuleContext parent, int invokingState) {
1425 super(parent, invokingState);
1426 }
1427 @Override public int getRuleIndex() { return RULE_implicitTransactionsValue; }
1428 @Override
1429 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1430 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitImplicitTransactionsValue(this);
1431 else return visitor.visitChildren(this);
1432 }
1433 }
1434
1435 public final ImplicitTransactionsValueContext implicitTransactionsValue() throws RecognitionException {
1436 ImplicitTransactionsValueContext _localctx = new ImplicitTransactionsValueContext(_ctx, getState());
1437 enterRule(_localctx, 8, RULE_implicitTransactionsValue);
1438 int _la;
1439 try {
1440 enterOuterAlt(_localctx, 1);
1441 {
1442 setState(1068);
1443 _la = _input.LA(1);
1444 if ( !(_la==ON || _la==OFF) ) {
1445 _errHandler.recoverInline(this);
1446 }
1447 else {
1448 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1449 _errHandler.reportMatch(this);
1450 consume();
1451 }
1452 }
1453 }
1454 catch (RecognitionException re) {
1455 _localctx.exception = re;
1456 _errHandler.reportError(this, re);
1457 _errHandler.recover(this, re);
1458 }
1459 finally {
1460 exitRule();
1461 }
1462 return _localctx;
1463 }
1464
1465 public static class BeginTransactionContext extends ParserRuleContext {
1466 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1467 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1468 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1469 public TransactionNameContext transactionName() {
1470 return getRuleContext(TransactionNameContext.class,0);
1471 }
1472 public TransactionVariableNameContext transactionVariableName() {
1473 return getRuleContext(TransactionVariableNameContext.class,0);
1474 }
1475 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1476 public TerminalNode MARK() { return getToken(SQLServerStatementParser.MARK, 0); }
1477 public StringLiteralsContext stringLiterals() {
1478 return getRuleContext(StringLiteralsContext.class,0);
1479 }
1480 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
1481 public BeginTransactionContext(ParserRuleContext parent, int invokingState) {
1482 super(parent, invokingState);
1483 }
1484 @Override public int getRuleIndex() { return RULE_beginTransaction; }
1485 @Override
1486 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1487 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginTransaction(this);
1488 else return visitor.visitChildren(this);
1489 }
1490 }
1491
1492 public final BeginTransactionContext beginTransaction() throws RecognitionException {
1493 BeginTransactionContext _localctx = new BeginTransactionContext(_ctx, getState());
1494 enterRule(_localctx, 10, RULE_beginTransaction);
1495 int _la;
1496 try {
1497 enterOuterAlt(_localctx, 1);
1498 {
1499 setState(1070);
1500 match(BEGIN);
1501 setState(1071);
1502 _la = _input.LA(1);
1503 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1504 _errHandler.recoverInline(this);
1505 }
1506 else {
1507 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1508 _errHandler.reportMatch(this);
1509 consume();
1510 }
1511 setState(1084);
1512 _errHandler.sync(this);
1513 _la = _input.LA(1);
1514 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)))) != 0) || ((((_la - 254)) & ~0x3f) == 0 && ((1L << (_la - 254)) & ((1L << (ROLE - 254)) | (1L << (START - 254)) | (1L << (ALGORITHM - 254)) | (1L << (AUTO - 254)) | (1L << (BLOCKERS - 254)) | (1L << (CLUSTERED - 254)) | (1L << (NONCLUSTERED - 254)) | (1L << (COLUMNSTORE - 254)) | (1L << (CONTENT - 254)) | (1L << (YEARS - 254)) | (1L << (MONTHS - 254)) | (1L << (WEEKS - 254)) | (1L << (DAYS - 254)) | (1L << (MINUTES - 254)) | (1L << (DENY - 254)) | (1L << (DETERMINISTIC - 254)) | (1L << (DISTRIBUTION - 254)) | (1L << (DOCUMENT - 254)) | (1L << (DURABILITY - 254)) | (1L << (ENCRYPTED - 254)) | (1L << (FILESTREAM - 254)) | (1L << (FILETABLE - 254)) | (1L << (FILLFACTOR - 254)) | (1L << (FOLLOWING - 254)) | (1L << (HASH - 254)) | (1L << (HEAP - 254)) | (1L << (INBOUND - 254)) | (1L << (OUTBOUND - 254)) | (1L << (UNBOUNDED - 254)) | (1L << (INFINITE - 254)) | (1L << (LOGIN - 254)) | (1L << (MASKED - 254)) | (1L << (MAXDOP - 254)) | (1L << (MOVE - 254)) | (1L << (NOCHECK - 254)) | (1L << (OBJECT - 254)) | (1L << (ONLINE - 254)) | (1L << (OVER - 254)) | (1L << (PAGE - 254)) | (1L << (PAUSED - 254)) | (1L << (PERIOD - 254)) | (1L << (PERSISTED - 254)) | (1L << (PRECEDING - 254)) | (1L << (RANDOMIZED - 254)) | (1L << (RANGE - 254)) | (1L << (REBUILD - 254)) | (1L << (REPLICATE - 254)) | (1L << (REPLICATION - 254)) | (1L << (RESUMABLE - 254)) | (1L << (ROWGUIDCOL - 254)) | (1L << (SAVE - 254)) | (1L << (SELF - 254)) | (1L << (SPARSE - 254)) | (1L << (SWITCH - 254)) | (1L << (TRAN - 254)) | (1L << (TRANCOUNT - 254)))) != 0) || ((((_la - 324)) & ~0x3f) == 0 && ((1L << (_la - 324)) & ((1L << (CONTROL - 324)) | (1L << (CONCAT - 324)) | (1L << (TAKE - 324)) | (1L << (OWNERSHIP - 324)) | (1L << (DEFINITION - 324)) | (1L << (APPLICATION - 324)) | (1L << (ASSEMBLY - 324)) | (1L << (SYMMETRIC - 324)) | (1L << (ASYMMETRIC - 324)) | (1L << (SERVER - 324)) | (1L << (RECEIVE - 324)) | (1L << (CHANGE - 324)) | (1L << (TRACE - 324)) | (1L << (TRACKING - 324)) | (1L << (RESOURCES - 324)) | (1L << (SETTINGS - 324)) | (1L << (STATE - 324)) | (1L << (AVAILABILITY - 324)) | (1L << (CREDENTIAL - 324)) | (1L << (ENDPOINT - 324)) | (1L << (EVENT - 324)) | (1L << (NOTIFICATION - 324)) | (1L << (LINKED - 324)) | (1L << (AUDIT - 324)) | (1L << (DDL - 324)) | (1L << (XML - 324)) | (1L << (IMPERSONATE - 324)) | (1L << (SECURABLES - 324)) | (1L << (AUTHENTICATE - 324)) | (1L << (EXTERNAL - 324)) | (1L << (ACCESS - 324)) | (1L << (ADMINISTER - 324)) | (1L << (BULK - 324)) | (1L << (OPERATIONS - 324)) | (1L << (UNSAFE - 324)) | (1L << (SHUTDOWN - 324)) | (1L << (SCOPED - 324)) | (1L << (CONFIGURATION - 324)) | (1L << (DATASPACE - 324)) | (1L << (SERVICE - 324)) | (1L << (CERTIFICATE - 324)) | (1L << (CONTRACT - 324)) | (1L << (ENCRYPTION - 324)) | (1L << (MASTER - 324)) | (1L << (DATA - 324)) | (1L << (SOURCE - 324)) | (1L << (FILE - 324)) | (1L << (FORMAT - 324)) | (1L << (LIBRARY - 324)) | (1L << (FULLTEXT - 324)) | (1L << (MASK - 324)) | (1L << (UNMASK - 324)) | (1L << (MESSAGE - 324)) | (1L << (REMOTE - 324)) | (1L << (BINDING - 324)) | (1L << (ROUTE - 324)) | (1L << (SECURITY - 324)) | (1L << (POLICY - 324)) | (1L << (AGGREGATE - 324)) | (1L << (QUEUE - 324)) | (1L << (RULE - 324)) | (1L << (SYNONYM - 324)) | (1L << (COLLECTION - 324)) | (1L << (SCRIPT - 324)))) != 0) || ((((_la - 388)) & ~0x3f) == 0 && ((1L << (_la - 388)) & ((1L << (KILL - 388)) | (1L << (BACKUP - 388)) | (1L << (LOG - 388)) | (1L << (SHOWPLAN - 388)) | (1L << (SUBSCRIBE - 388)) | (1L << (QUERY - 388)) | (1L << (NOTIFICATIONS - 388)) | (1L << (CHECKPOINT - 388)) | (1L << (SEQUENCE - 388)) | (1L << (ABORT_AFTER_WAIT - 388)) | (1L << (ALLOW_PAGE_LOCKS - 388)) | (1L << (ALLOW_ROW_LOCKS - 388)) | (1L << (ALL_SPARSE_COLUMNS - 388)) | (1L << (BUCKET_COUNT - 388)) | (1L << (COLUMNSTORE_ARCHIVE - 388)) | (1L << (COLUMN_ENCRYPTION_KEY - 388)) | (1L << (COLUMN_SET - 388)) | (1L << (COMPRESSION_DELAY - 388)) | (1L << (DATABASE_DEAULT - 388)) | (1L << (DATA_COMPRESSION - 388)) | (1L << (DATA_CONSISTENCY_CHECK - 388)) | (1L << (ENCRYPTION_TYPE - 388)) | (1L << (SYSTEM_TIME - 388)) | (1L << (SYSTEM_VERSIONING - 388)) | (1L << (TEXTIMAGE_ON - 388)) | (1L << (WAIT_AT_LOW_PRIORITY - 388)) | (1L << (STATISTICS_INCREMENTAL - 388)) | (1L << (STATISTICS_NORECOMPUTE - 388)) | (1L << (ROUND_ROBIN - 388)) | (1L << (SCHEMA_AND_DATA - 388)) | (1L << (SCHEMA_ONLY - 388)) | (1L << (SORT_IN_TEMPDB - 388)) | (1L << (IGNORE_DUP_KEY - 388)) | (1L << (IMPLICIT_TRANSACTIONS - 388)) | (1L << (MAX_DURATION - 388)) | (1L << (MEMORY_OPTIMIZED - 388)) | (1L << (MIGRATION_STATE - 388)) | (1L << (PAD_INDEX - 388)) | (1L << (REMOTE_DATA_ARCHIVE - 388)) | (1L << (FILESTREAM_ON - 388)) | (1L << (FILETABLE_COLLATE_FILENAME - 388)) | (1L << (FILETABLE_DIRECTORY - 388)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILTER_PREDICATE - 388)) | (1L << (HISTORY_RETENTION_PERIOD - 388)) | (1L << (HISTORY_TABLE - 388)) | (1L << (LOCK_ESCALATION - 388)) | (1L << (DROP_EXISTING - 388)) | (1L << (ROW_NUMBER - 388)) | (1L << (FIRST - 388)) | (1L << (DATETIME2 - 388)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (OUTPUT - 458)) | (1L << (INSERTED - 458)) | (1L << (DELETED - 458)) | (1L << (FILENAME - 458)) | (1L << (SIZE - 458)) | (1L << (MAXSIZE - 458)) | (1L << (FILEGROWTH - 458)) | (1L << (UNLIMITED - 458)) | (1L << (KB - 458)) | (1L << (MB - 458)) | (1L << (GB - 458)) | (1L << (TB - 458)) | (1L << (CONTAINS - 458)) | (1L << (MEMORY_OPTIMIZED_DATA - 458)) | (1L << (FILEGROUP - 458)) | (1L << (NON_TRANSACTED_ACCESS - 458)) | (1L << (DB_CHAINING - 458)) | (1L << (TRUSTWORTHY - 458)) | (1L << (FORWARD_ONLY - 458)) | (1L << (KEYSET - 458)) | (1L << (FAST_FORWARD - 458)) | (1L << (SCROLL_LOCKS - 458)) | (1L << (OPTIMISTIC - 458)) | (1L << (TYPE_WARNING - 458)) | (1L << (SCHEMABINDING - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (CALLER - 522)) | (1L << (OWNER - 522)) | (1L << (SNAPSHOT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (SERIALIZABLE - 522)) | (1L << (NATIVE_COMPILATION - 522)) | (1L << (VIEW_METADATA - 522)) | (1L << (INSTEAD - 522)) | (1L << (APPEND - 522)) | (1L << (INCREMENT - 522)) | (1L << (CACHE - 522)) | (1L << (MINVALUE - 522)) | (1L << (MAXVALUE - 522)) | (1L << (RESTART - 522)) | (1L << (LOB_COMPACTION - 522)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 522)) | (1L << (REORGANIZE - 522)) | (1L << (RESUME - 522)) | (1L << (PAUSE - 522)) | (1L << (ABORT - 522)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 522)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 522)) | (1L << (IMMEDIATE - 522)) | (1L << (NO_WAIT - 522)) | (1L << (TARGET_RECOVERY_TIME - 522)) | (1L << (SECONDS - 522)) | (1L << (HONOR_BROKER_PRIORITY - 522)) | (1L << (ERROR_BROKER_CONVERSATIONS - 522)) | (1L << (NEW_BROKER - 522)) | (1L << (DISABLE_BROKER - 522)) | (1L << (ENABLE_BROKER - 522)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 522)) | (1L << (READ_COMMITTED_SNAPSHOT - 522)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 522)) | (1L << (RECURSIVE_TRIGGERS - 522)) | (1L << (QUOTED_IDENTIFIER - 522)) | (1L << (NUMERIC_ROUNDABORT - 522)) | (1L << (CONCAT_NULL_YIELDS_NULL - 522)) | (1L << (COMPATIBILITY_LEVEL - 522)) | (1L << (ARITHABORT - 522)) | (1L << (ANSI_WARNINGS - 522)) | (1L << (ANSI_PADDING - 522)) | (1L << (ANSI_NULLS - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (ANSI_NULL_DEFAULT - 586)) | (1L << (PAGE_VERIFY - 586)) | (1L << (CHECKSUM - 586)) | (1L << (TORN_PAGE_DETECTION - 586)) | (1L << (BULK_LOGGED - 586)) | (1L << (RECOVERY - 586)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 586)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 586)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 586)) | (1L << (EXECUTION_COUNT - 586)) | (1L << (QUERY_CAPTURE_POLICY - 586)) | (1L << (WAIT_STATS_CAPTURE_MODE - 586)) | (1L << (MAX_PLANS_PER_QUERY - 586)) | (1L << (QUERY_CAPTURE_MODE - 586)) | (1L << (SIZE_BASED_CLEANUP_MODE - 586)) | (1L << (INTERVAL_LENGTH_MINUTES - 586)) | (1L << (MAX_STORAGE_SIZE_MB - 586)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 586)) | (1L << (CLEANUP_POLICY - 586)) | (1L << (CUSTOM - 586)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 586)) | (1L << (OPERATION_MODE - 586)) | (1L << (QUERY_STORE - 586)) | (1L << (CURSOR_DEFAULT - 586)) | (1L << (GLOBAL - 586)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 586)) | (1L << (HOURS - 586)) | (1L << (CHANGE_RETENTION - 586)) | (1L << (AUTO_CLEANUP - 586)) | (1L << (CHANGE_TRACKING - 586)) | (1L << (AUTOMATIC_TUNING - 586)) | (1L << (FORCE_LAST_GOOD_PLAN - 586)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 586)) | (1L << (AUTO_UPDATE_STATISTICS - 586)) | (1L << (AUTO_SHRINK - 586)) | (1L << (AUTO_CREATE_STATISTICS - 586)) | (1L << (INCREMENTAL - 586)) | (1L << (AUTO_CLOSE - 586)) | (1L << (DATA_RETENTION - 586)) | (1L << (TEMPORAL_HISTORY_RETENTION - 586)) | (1L << (EDITION - 586)) | (1L << (MIXED_PAGE_ALLOCATION - 586)) | (1L << (DISABLED - 586)) | (1L << (ALLOWED - 586)) | (1L << (HADR - 586)) | (1L << (MULTI_USER - 586)) | (1L << (RESTRICTED_USER - 586)) | (1L << (SINGLE_USER - 586)) | (1L << (OFFLINE - 586)) | (1L << (EMERGENCY - 586)) | (1L << (SUSPEND - 586)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 586)) | (1L << (ELASTIC_POOL - 586)) | (1L << (SERVICE_OBJECTIVE - 586)) | (1L << (DATABASE_NAME - 586)) | (1L << (ALLOW_CONNECTIONS - 586)) | (1L << (GEO - 586)) | (1L << (NAMED - 586)) | (1L << (DATEFIRST - 586)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 586)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 586)) | (1L << (SECONDARY - 586)) | (1L << (FAILOVER - 586)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (DEFAULT_LANGUAGE - 650)) | (1L << (INLINE - 650)) | (1L << (NESTED_TRIGGERS - 650)) | (1L << (TRANSFORM_NOISE_WORDS - 650)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 650)) | (1L << (PERSISTENT_LOG_BUFFER - 650)) | (1L << (DIRECTORY_NAME - 650)) | (1L << (DATEFORMAT - 650)) | (1L << (DELAYED_DURABILITY - 650)) | (1L << (AUTHORIZATION - 650)) | (1L << (TRANSFER - 650)) | (1L << (PROVIDER - 650)) | (1L << (SEARCH - 650)) | (1L << (MEMBER - 650)) | (1L << (IDENTIFIER_ - 650)) | (1L << (DELIMITED_IDENTIFIER_ - 650)))) != 0)) {
1515 {
1516 setState(1074);
1517 _errHandler.sync(this);
1518 switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) {
1519 case 1:
1520 {
1521 setState(1072);
1522 transactionName();
1523 }
1524 break;
1525 case 2:
1526 {
1527 setState(1073);
1528 transactionVariableName();
1529 }
1530 break;
1531 }
1532 setState(1082);
1533 _errHandler.sync(this);
1534 _la = _input.LA(1);
1535 if (_la==WITH) {
1536 {
1537 setState(1076);
1538 match(WITH);
1539 setState(1077);
1540 match(MARK);
1541 setState(1080);
1542 _errHandler.sync(this);
1543 switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
1544 case 1:
1545 {
1546 setState(1078);
1547 stringLiterals();
1548 }
1549 break;
1550 case 2:
1551 {
1552 setState(1079);
1553 match(NCHAR_TEXT);
1554 }
1555 break;
1556 }
1557 }
1558 }
1559
1560 }
1561 }
1562
1563 }
1564 }
1565 catch (RecognitionException re) {
1566 _localctx.exception = re;
1567 _errHandler.reportError(this, re);
1568 _errHandler.recover(this, re);
1569 }
1570 finally {
1571 exitRule();
1572 }
1573 return _localctx;
1574 }
1575
1576 public static class BeginDistributedTransactionContext extends ParserRuleContext {
1577 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1578 public TerminalNode DISTRIBUTED() { return getToken(SQLServerStatementParser.DISTRIBUTED, 0); }
1579 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1580 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1581 public TransactionNameContext transactionName() {
1582 return getRuleContext(TransactionNameContext.class,0);
1583 }
1584 public TransactionVariableNameContext transactionVariableName() {
1585 return getRuleContext(TransactionVariableNameContext.class,0);
1586 }
1587 public BeginDistributedTransactionContext(ParserRuleContext parent, int invokingState) {
1588 super(parent, invokingState);
1589 }
1590 @Override public int getRuleIndex() { return RULE_beginDistributedTransaction; }
1591 @Override
1592 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1593 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginDistributedTransaction(this);
1594 else return visitor.visitChildren(this);
1595 }
1596 }
1597
1598 public final BeginDistributedTransactionContext beginDistributedTransaction() throws RecognitionException {
1599 BeginDistributedTransactionContext _localctx = new BeginDistributedTransactionContext(_ctx, getState());
1600 enterRule(_localctx, 12, RULE_beginDistributedTransaction);
1601 int _la;
1602 try {
1603 enterOuterAlt(_localctx, 1);
1604 {
1605 setState(1086);
1606 match(BEGIN);
1607 setState(1087);
1608 match(DISTRIBUTED);
1609 setState(1088);
1610 _la = _input.LA(1);
1611 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1612 _errHandler.recoverInline(this);
1613 }
1614 else {
1615 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1616 _errHandler.reportMatch(this);
1617 consume();
1618 }
1619 setState(1091);
1620 _errHandler.sync(this);
1621 switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
1622 case 1:
1623 {
1624 setState(1089);
1625 transactionName();
1626 }
1627 break;
1628 case 2:
1629 {
1630 setState(1090);
1631 transactionVariableName();
1632 }
1633 break;
1634 }
1635 }
1636 }
1637 catch (RecognitionException re) {
1638 _localctx.exception = re;
1639 _errHandler.reportError(this, re);
1640 _errHandler.recover(this, re);
1641 }
1642 finally {
1643 exitRule();
1644 }
1645 return _localctx;
1646 }
1647
1648 public static class CommitContext extends ParserRuleContext {
1649 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1650 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1651 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
1652 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
1653 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
1654 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
1655 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1656 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1657 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1658 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1659 public TransactionNameContext transactionName() {
1660 return getRuleContext(TransactionNameContext.class,0);
1661 }
1662 public TransactionVariableNameContext transactionVariableName() {
1663 return getRuleContext(TransactionVariableNameContext.class,0);
1664 }
1665 public CommitContext(ParserRuleContext parent, int invokingState) {
1666 super(parent, invokingState);
1667 }
1668 @Override public int getRuleIndex() { return RULE_commit; }
1669 @Override
1670 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1671 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommit(this);
1672 else return visitor.visitChildren(this);
1673 }
1674 }
1675
1676 public final CommitContext commit() throws RecognitionException {
1677 CommitContext _localctx = new CommitContext(_ctx, getState());
1678 enterRule(_localctx, 14, RULE_commit);
1679 int _la;
1680 try {
1681 enterOuterAlt(_localctx, 1);
1682 {
1683 setState(1093);
1684 match(COMMIT);
1685 setState(1099);
1686 _errHandler.sync(this);
1687 _la = _input.LA(1);
1688 if (_la==TRANSACTION || _la==TRAN) {
1689 {
1690 setState(1094);
1691 _la = _input.LA(1);
1692 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1693 _errHandler.recoverInline(this);
1694 }
1695 else {
1696 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1697 _errHandler.reportMatch(this);
1698 consume();
1699 }
1700 setState(1097);
1701 _errHandler.sync(this);
1702 switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
1703 case 1:
1704 {
1705 setState(1095);
1706 transactionName();
1707 }
1708 break;
1709 case 2:
1710 {
1711 setState(1096);
1712 transactionVariableName();
1713 }
1714 break;
1715 }
1716 }
1717 }
1718
1719 setState(1107);
1720 _errHandler.sync(this);
1721 _la = _input.LA(1);
1722 if (_la==WITH) {
1723 {
1724 setState(1101);
1725 match(WITH);
1726 setState(1102);
1727 match(LP_);
1728 setState(1103);
1729 match(DELAYED_DURABILITY);
1730 setState(1104);
1731 match(EQ_);
1732 setState(1105);
1733 _la = _input.LA(1);
1734 if ( !(_la==ON || _la==OFF) ) {
1735 _errHandler.recoverInline(this);
1736 }
1737 else {
1738 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1739 _errHandler.reportMatch(this);
1740 consume();
1741 }
1742 setState(1106);
1743 match(RP_);
1744 }
1745 }
1746
1747 }
1748 }
1749 catch (RecognitionException re) {
1750 _localctx.exception = re;
1751 _errHandler.reportError(this, re);
1752 _errHandler.recover(this, re);
1753 }
1754 finally {
1755 exitRule();
1756 }
1757 return _localctx;
1758 }
1759
1760 public static class CommitWorkContext extends ParserRuleContext {
1761 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1762 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1763 public CommitWorkContext(ParserRuleContext parent, int invokingState) {
1764 super(parent, invokingState);
1765 }
1766 @Override public int getRuleIndex() { return RULE_commitWork; }
1767 @Override
1768 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1769 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommitWork(this);
1770 else return visitor.visitChildren(this);
1771 }
1772 }
1773
1774 public final CommitWorkContext commitWork() throws RecognitionException {
1775 CommitWorkContext _localctx = new CommitWorkContext(_ctx, getState());
1776 enterRule(_localctx, 16, RULE_commitWork);
1777 int _la;
1778 try {
1779 enterOuterAlt(_localctx, 1);
1780 {
1781 setState(1109);
1782 match(COMMIT);
1783 setState(1111);
1784 _errHandler.sync(this);
1785 _la = _input.LA(1);
1786 if (_la==WORK) {
1787 {
1788 setState(1110);
1789 match(WORK);
1790 }
1791 }
1792
1793 }
1794 }
1795 catch (RecognitionException re) {
1796 _localctx.exception = re;
1797 _errHandler.reportError(this, re);
1798 _errHandler.recover(this, re);
1799 }
1800 finally {
1801 exitRule();
1802 }
1803 return _localctx;
1804 }
1805
1806 public static class RollbackContext extends ParserRuleContext {
1807 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1808 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1809 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1810 public TransactionNameContext transactionName() {
1811 return getRuleContext(TransactionNameContext.class,0);
1812 }
1813 public TransactionVariableNameContext transactionVariableName() {
1814 return getRuleContext(TransactionVariableNameContext.class,0);
1815 }
1816 public SavepointNameContext savepointName() {
1817 return getRuleContext(SavepointNameContext.class,0);
1818 }
1819 public SavepointVariableNameContext savepointVariableName() {
1820 return getRuleContext(SavepointVariableNameContext.class,0);
1821 }
1822 public RollbackContext(ParserRuleContext parent, int invokingState) {
1823 super(parent, invokingState);
1824 }
1825 @Override public int getRuleIndex() { return RULE_rollback; }
1826 @Override
1827 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1828 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollback(this);
1829 else return visitor.visitChildren(this);
1830 }
1831 }
1832
1833 public final RollbackContext rollback() throws RecognitionException {
1834 RollbackContext _localctx = new RollbackContext(_ctx, getState());
1835 enterRule(_localctx, 18, RULE_rollback);
1836 int _la;
1837 try {
1838 enterOuterAlt(_localctx, 1);
1839 {
1840 setState(1113);
1841 match(ROLLBACK);
1842 setState(1114);
1843 _la = _input.LA(1);
1844 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1845 _errHandler.recoverInline(this);
1846 }
1847 else {
1848 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1849 _errHandler.reportMatch(this);
1850 consume();
1851 }
1852 setState(1119);
1853 _errHandler.sync(this);
1854 switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) {
1855 case 1:
1856 {
1857 setState(1115);
1858 transactionName();
1859 }
1860 break;
1861 case 2:
1862 {
1863 setState(1116);
1864 transactionVariableName();
1865 }
1866 break;
1867 case 3:
1868 {
1869 setState(1117);
1870 savepointName();
1871 }
1872 break;
1873 case 4:
1874 {
1875 setState(1118);
1876 savepointVariableName();
1877 }
1878 break;
1879 }
1880 }
1881 }
1882 catch (RecognitionException re) {
1883 _localctx.exception = re;
1884 _errHandler.reportError(this, re);
1885 _errHandler.recover(this, re);
1886 }
1887 finally {
1888 exitRule();
1889 }
1890 return _localctx;
1891 }
1892
1893 public static class RollbackWorkContext extends ParserRuleContext {
1894 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1895 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1896 public RollbackWorkContext(ParserRuleContext parent, int invokingState) {
1897 super(parent, invokingState);
1898 }
1899 @Override public int getRuleIndex() { return RULE_rollbackWork; }
1900 @Override
1901 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1902 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollbackWork(this);
1903 else return visitor.visitChildren(this);
1904 }
1905 }
1906
1907 public final RollbackWorkContext rollbackWork() throws RecognitionException {
1908 RollbackWorkContext _localctx = new RollbackWorkContext(_ctx, getState());
1909 enterRule(_localctx, 20, RULE_rollbackWork);
1910 int _la;
1911 try {
1912 enterOuterAlt(_localctx, 1);
1913 {
1914 setState(1121);
1915 match(ROLLBACK);
1916 setState(1123);
1917 _errHandler.sync(this);
1918 _la = _input.LA(1);
1919 if (_la==WORK) {
1920 {
1921 setState(1122);
1922 match(WORK);
1923 }
1924 }
1925
1926 }
1927 }
1928 catch (RecognitionException re) {
1929 _localctx.exception = re;
1930 _errHandler.reportError(this, re);
1931 _errHandler.recover(this, re);
1932 }
1933 finally {
1934 exitRule();
1935 }
1936 return _localctx;
1937 }
1938
1939 public static class SavepointContext extends ParserRuleContext {
1940 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
1941 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1942 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1943 public SavepointNameContext savepointName() {
1944 return getRuleContext(SavepointNameContext.class,0);
1945 }
1946 public SavepointVariableNameContext savepointVariableName() {
1947 return getRuleContext(SavepointVariableNameContext.class,0);
1948 }
1949 public SavepointContext(ParserRuleContext parent, int invokingState) {
1950 super(parent, invokingState);
1951 }
1952 @Override public int getRuleIndex() { return RULE_savepoint; }
1953 @Override
1954 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1955 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepoint(this);
1956 else return visitor.visitChildren(this);
1957 }
1958 }
1959
1960 public final SavepointContext savepoint() throws RecognitionException {
1961 SavepointContext _localctx = new SavepointContext(_ctx, getState());
1962 enterRule(_localctx, 22, RULE_savepoint);
1963 int _la;
1964 try {
1965 enterOuterAlt(_localctx, 1);
1966 {
1967 setState(1125);
1968 match(SAVE);
1969 setState(1126);
1970 _la = _input.LA(1);
1971 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1972 _errHandler.recoverInline(this);
1973 }
1974 else {
1975 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1976 _errHandler.reportMatch(this);
1977 consume();
1978 }
1979 setState(1129);
1980 _errHandler.sync(this);
1981 switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
1982 case 1:
1983 {
1984 setState(1127);
1985 savepointName();
1986 }
1987 break;
1988 case 2:
1989 {
1990 setState(1128);
1991 savepointVariableName();
1992 }
1993 break;
1994 }
1995 }
1996 }
1997 catch (RecognitionException re) {
1998 _localctx.exception = re;
1999 _errHandler.reportError(this, re);
2000 _errHandler.recover(this, re);
2001 }
2002 finally {
2003 exitRule();
2004 }
2005 return _localctx;
2006 }
2007
2008 public static class ParameterMarkerContext extends ParserRuleContext {
2009 public TerminalNode QUESTION_() { return getToken(SQLServerStatementParser.QUESTION_, 0); }
2010 public ParameterMarkerContext(ParserRuleContext parent, int invokingState) {
2011 super(parent, invokingState);
2012 }
2013 @Override public int getRuleIndex() { return RULE_parameterMarker; }
2014 @Override
2015 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2016 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitParameterMarker(this);
2017 else return visitor.visitChildren(this);
2018 }
2019 }
2020
2021 public final ParameterMarkerContext parameterMarker() throws RecognitionException {
2022 ParameterMarkerContext _localctx = new ParameterMarkerContext(_ctx, getState());
2023 enterRule(_localctx, 24, RULE_parameterMarker);
2024 try {
2025 enterOuterAlt(_localctx, 1);
2026 {
2027 setState(1131);
2028 match(QUESTION_);
2029 }
2030 }
2031 catch (RecognitionException re) {
2032 _localctx.exception = re;
2033 _errHandler.reportError(this, re);
2034 _errHandler.recover(this, re);
2035 }
2036 finally {
2037 exitRule();
2038 }
2039 return _localctx;
2040 }
2041
2042 public static class LiteralsContext extends ParserRuleContext {
2043 public StringLiteralsContext stringLiterals() {
2044 return getRuleContext(StringLiteralsContext.class,0);
2045 }
2046 public NumberLiteralsContext numberLiterals() {
2047 return getRuleContext(NumberLiteralsContext.class,0);
2048 }
2049 public DateTimeLiteralsContext dateTimeLiterals() {
2050 return getRuleContext(DateTimeLiteralsContext.class,0);
2051 }
2052 public HexadecimalLiteralsContext hexadecimalLiterals() {
2053 return getRuleContext(HexadecimalLiteralsContext.class,0);
2054 }
2055 public BitValueLiteralsContext bitValueLiterals() {
2056 return getRuleContext(BitValueLiteralsContext.class,0);
2057 }
2058 public BooleanLiteralsContext booleanLiterals() {
2059 return getRuleContext(BooleanLiteralsContext.class,0);
2060 }
2061 public NullValueLiteralsContext nullValueLiterals() {
2062 return getRuleContext(NullValueLiteralsContext.class,0);
2063 }
2064 public LiteralsContext(ParserRuleContext parent, int invokingState) {
2065 super(parent, invokingState);
2066 }
2067 @Override public int getRuleIndex() { return RULE_literals; }
2068 @Override
2069 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2070 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLiterals(this);
2071 else return visitor.visitChildren(this);
2072 }
2073 }
2074
2075 public final LiteralsContext literals() throws RecognitionException {
2076 LiteralsContext _localctx = new LiteralsContext(_ctx, getState());
2077 enterRule(_localctx, 26, RULE_literals);
2078 try {
2079 setState(1140);
2080 _errHandler.sync(this);
2081 switch (_input.LA(1)) {
2082 case STRING_:
2083 case NCHAR_TEXT:
2084 enterOuterAlt(_localctx, 1);
2085 {
2086 setState(1133);
2087 stringLiterals();
2088 }
2089 break;
2090 case PLUS_:
2091 case MINUS_:
2092 case NUMBER_:
2093 enterOuterAlt(_localctx, 2);
2094 {
2095 setState(1134);
2096 numberLiterals();
2097 }
2098 break;
2099 case LBE_:
2100 case DATE:
2101 case TIME:
2102 case TIMESTAMP:
2103 enterOuterAlt(_localctx, 3);
2104 {
2105 setState(1135);
2106 dateTimeLiterals();
2107 }
2108 break;
2109 case HEX_DIGIT_:
2110 enterOuterAlt(_localctx, 4);
2111 {
2112 setState(1136);
2113 hexadecimalLiterals();
2114 }
2115 break;
2116 case BIT_NUM_:
2117 enterOuterAlt(_localctx, 5);
2118 {
2119 setState(1137);
2120 bitValueLiterals();
2121 }
2122 break;
2123 case TRUE:
2124 case FALSE:
2125 enterOuterAlt(_localctx, 6);
2126 {
2127 setState(1138);
2128 booleanLiterals();
2129 }
2130 break;
2131 case NULL:
2132 enterOuterAlt(_localctx, 7);
2133 {
2134 setState(1139);
2135 nullValueLiterals();
2136 }
2137 break;
2138 default:
2139 throw new NoViableAltException(this);
2140 }
2141 }
2142 catch (RecognitionException re) {
2143 _localctx.exception = re;
2144 _errHandler.reportError(this, re);
2145 _errHandler.recover(this, re);
2146 }
2147 finally {
2148 exitRule();
2149 }
2150 return _localctx;
2151 }
2152
2153 public static class StringLiteralsContext extends ParserRuleContext {
2154 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2155 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
2156 public StringLiteralsContext(ParserRuleContext parent, int invokingState) {
2157 super(parent, invokingState);
2158 }
2159 @Override public int getRuleIndex() { return RULE_stringLiterals; }
2160 @Override
2161 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2162 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStringLiterals(this);
2163 else return visitor.visitChildren(this);
2164 }
2165 }
2166
2167 public final StringLiteralsContext stringLiterals() throws RecognitionException {
2168 StringLiteralsContext _localctx = new StringLiteralsContext(_ctx, getState());
2169 enterRule(_localctx, 28, RULE_stringLiterals);
2170 int _la;
2171 try {
2172 enterOuterAlt(_localctx, 1);
2173 {
2174 setState(1142);
2175 _la = _input.LA(1);
2176 if ( !(_la==STRING_ || _la==NCHAR_TEXT) ) {
2177 _errHandler.recoverInline(this);
2178 }
2179 else {
2180 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2181 _errHandler.reportMatch(this);
2182 consume();
2183 }
2184 }
2185 }
2186 catch (RecognitionException re) {
2187 _localctx.exception = re;
2188 _errHandler.reportError(this, re);
2189 _errHandler.recover(this, re);
2190 }
2191 finally {
2192 exitRule();
2193 }
2194 return _localctx;
2195 }
2196
2197 public static class NumberLiteralsContext extends ParserRuleContext {
2198 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
2199 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
2200 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
2201 public NumberLiteralsContext(ParserRuleContext parent, int invokingState) {
2202 super(parent, invokingState);
2203 }
2204 @Override public int getRuleIndex() { return RULE_numberLiterals; }
2205 @Override
2206 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2207 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberLiterals(this);
2208 else return visitor.visitChildren(this);
2209 }
2210 }
2211
2212 public final NumberLiteralsContext numberLiterals() throws RecognitionException {
2213 NumberLiteralsContext _localctx = new NumberLiteralsContext(_ctx, getState());
2214 enterRule(_localctx, 30, RULE_numberLiterals);
2215 int _la;
2216 try {
2217 enterOuterAlt(_localctx, 1);
2218 {
2219 setState(1145);
2220 _errHandler.sync(this);
2221 _la = _input.LA(1);
2222 if (_la==PLUS_ || _la==MINUS_) {
2223 {
2224 setState(1144);
2225 _la = _input.LA(1);
2226 if ( !(_la==PLUS_ || _la==MINUS_) ) {
2227 _errHandler.recoverInline(this);
2228 }
2229 else {
2230 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2231 _errHandler.reportMatch(this);
2232 consume();
2233 }
2234 }
2235 }
2236
2237 setState(1147);
2238 match(NUMBER_);
2239 }
2240 }
2241 catch (RecognitionException re) {
2242 _localctx.exception = re;
2243 _errHandler.reportError(this, re);
2244 _errHandler.recover(this, re);
2245 }
2246 finally {
2247 exitRule();
2248 }
2249 return _localctx;
2250 }
2251
2252 public static class DateTimeLiteralsContext extends ParserRuleContext {
2253 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2254 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
2255 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
2256 public TerminalNode TIMESTAMP() { return getToken(SQLServerStatementParser.TIMESTAMP, 0); }
2257 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
2258 public IdentifierContext identifier() {
2259 return getRuleContext(IdentifierContext.class,0);
2260 }
2261 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
2262 public DateTimeLiteralsContext(ParserRuleContext parent, int invokingState) {
2263 super(parent, invokingState);
2264 }
2265 @Override public int getRuleIndex() { return RULE_dateTimeLiterals; }
2266 @Override
2267 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2268 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDateTimeLiterals(this);
2269 else return visitor.visitChildren(this);
2270 }
2271 }
2272
2273 public final DateTimeLiteralsContext dateTimeLiterals() throws RecognitionException {
2274 DateTimeLiteralsContext _localctx = new DateTimeLiteralsContext(_ctx, getState());
2275 enterRule(_localctx, 32, RULE_dateTimeLiterals);
2276 int _la;
2277 try {
2278 setState(1156);
2279 _errHandler.sync(this);
2280 switch (_input.LA(1)) {
2281 case DATE:
2282 case TIME:
2283 case TIMESTAMP:
2284 enterOuterAlt(_localctx, 1);
2285 {
2286 setState(1149);
2287 _la = _input.LA(1);
2288 if ( !(((((_la - 135)) & ~0x3f) == 0 && ((1L << (_la - 135)) & ((1L << (DATE - 135)) | (1L << (TIME - 135)) | (1L << (TIMESTAMP - 135)))) != 0)) ) {
2289 _errHandler.recoverInline(this);
2290 }
2291 else {
2292 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2293 _errHandler.reportMatch(this);
2294 consume();
2295 }
2296 setState(1150);
2297 match(STRING_);
2298 }
2299 break;
2300 case LBE_:
2301 enterOuterAlt(_localctx, 2);
2302 {
2303 setState(1151);
2304 match(LBE_);
2305 setState(1152);
2306 identifier();
2307 setState(1153);
2308 match(STRING_);
2309 setState(1154);
2310 match(RBE_);
2311 }
2312 break;
2313 default:
2314 throw new NoViableAltException(this);
2315 }
2316 }
2317 catch (RecognitionException re) {
2318 _localctx.exception = re;
2319 _errHandler.reportError(this, re);
2320 _errHandler.recover(this, re);
2321 }
2322 finally {
2323 exitRule();
2324 }
2325 return _localctx;
2326 }
2327
2328 public static class HexadecimalLiteralsContext extends ParserRuleContext {
2329 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
2330 public HexadecimalLiteralsContext(ParserRuleContext parent, int invokingState) {
2331 super(parent, invokingState);
2332 }
2333 @Override public int getRuleIndex() { return RULE_hexadecimalLiterals; }
2334 @Override
2335 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2336 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHexadecimalLiterals(this);
2337 else return visitor.visitChildren(this);
2338 }
2339 }
2340
2341 public final HexadecimalLiteralsContext hexadecimalLiterals() throws RecognitionException {
2342 HexadecimalLiteralsContext _localctx = new HexadecimalLiteralsContext(_ctx, getState());
2343 enterRule(_localctx, 34, RULE_hexadecimalLiterals);
2344 try {
2345 enterOuterAlt(_localctx, 1);
2346 {
2347 setState(1158);
2348 match(HEX_DIGIT_);
2349 }
2350 }
2351 catch (RecognitionException re) {
2352 _localctx.exception = re;
2353 _errHandler.reportError(this, re);
2354 _errHandler.recover(this, re);
2355 }
2356 finally {
2357 exitRule();
2358 }
2359 return _localctx;
2360 }
2361
2362 public static class BitValueLiteralsContext extends ParserRuleContext {
2363 public TerminalNode BIT_NUM_() { return getToken(SQLServerStatementParser.BIT_NUM_, 0); }
2364 public BitValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2365 super(parent, invokingState);
2366 }
2367 @Override public int getRuleIndex() { return RULE_bitValueLiterals; }
2368 @Override
2369 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2370 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitValueLiterals(this);
2371 else return visitor.visitChildren(this);
2372 }
2373 }
2374
2375 public final BitValueLiteralsContext bitValueLiterals() throws RecognitionException {
2376 BitValueLiteralsContext _localctx = new BitValueLiteralsContext(_ctx, getState());
2377 enterRule(_localctx, 36, RULE_bitValueLiterals);
2378 try {
2379 enterOuterAlt(_localctx, 1);
2380 {
2381 setState(1160);
2382 match(BIT_NUM_);
2383 }
2384 }
2385 catch (RecognitionException re) {
2386 _localctx.exception = re;
2387 _errHandler.reportError(this, re);
2388 _errHandler.recover(this, re);
2389 }
2390 finally {
2391 exitRule();
2392 }
2393 return _localctx;
2394 }
2395
2396 public static class BooleanLiteralsContext extends ParserRuleContext {
2397 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
2398 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
2399 public BooleanLiteralsContext(ParserRuleContext parent, int invokingState) {
2400 super(parent, invokingState);
2401 }
2402 @Override public int getRuleIndex() { return RULE_booleanLiterals; }
2403 @Override
2404 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2405 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanLiterals(this);
2406 else return visitor.visitChildren(this);
2407 }
2408 }
2409
2410 public final BooleanLiteralsContext booleanLiterals() throws RecognitionException {
2411 BooleanLiteralsContext _localctx = new BooleanLiteralsContext(_ctx, getState());
2412 enterRule(_localctx, 38, RULE_booleanLiterals);
2413 int _la;
2414 try {
2415 enterOuterAlt(_localctx, 1);
2416 {
2417 setState(1162);
2418 _la = _input.LA(1);
2419 if ( !(_la==TRUE || _la==FALSE) ) {
2420 _errHandler.recoverInline(this);
2421 }
2422 else {
2423 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2424 _errHandler.reportMatch(this);
2425 consume();
2426 }
2427 }
2428 }
2429 catch (RecognitionException re) {
2430 _localctx.exception = re;
2431 _errHandler.reportError(this, re);
2432 _errHandler.recover(this, re);
2433 }
2434 finally {
2435 exitRule();
2436 }
2437 return _localctx;
2438 }
2439
2440 public static class NullValueLiteralsContext extends ParserRuleContext {
2441 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
2442 public NullValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2443 super(parent, invokingState);
2444 }
2445 @Override public int getRuleIndex() { return RULE_nullValueLiterals; }
2446 @Override
2447 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2448 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNullValueLiterals(this);
2449 else return visitor.visitChildren(this);
2450 }
2451 }
2452
2453 public final NullValueLiteralsContext nullValueLiterals() throws RecognitionException {
2454 NullValueLiteralsContext _localctx = new NullValueLiteralsContext(_ctx, getState());
2455 enterRule(_localctx, 40, RULE_nullValueLiterals);
2456 try {
2457 enterOuterAlt(_localctx, 1);
2458 {
2459 setState(1164);
2460 match(NULL);
2461 }
2462 }
2463 catch (RecognitionException re) {
2464 _localctx.exception = re;
2465 _errHandler.reportError(this, re);
2466 _errHandler.recover(this, re);
2467 }
2468 finally {
2469 exitRule();
2470 }
2471 return _localctx;
2472 }
2473
2474 public static class IdentifierContext extends ParserRuleContext {
2475 public RegularIdentifierContext regularIdentifier() {
2476 return getRuleContext(RegularIdentifierContext.class,0);
2477 }
2478 public DelimitedIdentifierContext delimitedIdentifier() {
2479 return getRuleContext(DelimitedIdentifierContext.class,0);
2480 }
2481 public IdentifierContext(ParserRuleContext parent, int invokingState) {
2482 super(parent, invokingState);
2483 }
2484 @Override public int getRuleIndex() { return RULE_identifier; }
2485 @Override
2486 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2487 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIdentifier(this);
2488 else return visitor.visitChildren(this);
2489 }
2490 }
2491
2492 public final IdentifierContext identifier() throws RecognitionException {
2493 IdentifierContext _localctx = new IdentifierContext(_ctx, getState());
2494 enterRule(_localctx, 42, RULE_identifier);
2495 try {
2496 setState(1168);
2497 _errHandler.sync(this);
2498 switch (_input.LA(1)) {
2499 case TRUNCATE:
2500 case SCHEMA:
2501 case COLUMNS:
2502 case PRECISION:
2503 case FUNCTION:
2504 case TRIGGER:
2505 case CAST:
2506 case SUBSTRING:
2507 case OFF:
2508 case GROUP:
2509 case LIMIT:
2510 case OFFSET:
2511 case SAVEPOINT:
2512 case BOOLEAN:
2513 case ARRAY:
2514 case DATE:
2515 case LOCALTIME:
2516 case LOCALTIMESTAMP:
2517 case QUARTER:
2518 case MONTH:
2519 case WEEK:
2520 case DAY:
2521 case SECOND:
2522 case MICROSECOND:
2523 case MAX:
2524 case MIN:
2525 case SUM:
2526 case COUNT:
2527 case AVG:
2528 case ENABLE:
2529 case DISABLE:
2530 case INSTANCE:
2531 case DO:
2532 case DEFINER:
2533 case SQL:
2534 case CASCADED:
2535 case LOCAL:
2536 case NEXT:
2537 case NAME:
2538 case INTEGER:
2539 case TYPE:
2540 case TEXT:
2541 case VIEWS:
2542 case READ_ONLY:
2543 case DATABASE:
2544 case RETURNS:
2545 case DATEPART:
2546 case PASSWORD:
2547 case BINARY:
2548 case HIDDEN_:
2549 case MOD:
2550 case PARTITION:
2551 case PARTITIONS:
2552 case TOP:
2553 case ROW:
2554 case ROWS:
2555 case XOR:
2556 case ALWAYS:
2557 case ROLE:
2558 case START:
2559 case ALGORITHM:
2560 case AUTO:
2561 case BLOCKERS:
2562 case CLUSTERED:
2563 case NONCLUSTERED:
2564 case COLUMNSTORE:
2565 case CONTENT:
2566 case YEARS:
2567 case MONTHS:
2568 case WEEKS:
2569 case DAYS:
2570 case MINUTES:
2571 case DENY:
2572 case DETERMINISTIC:
2573 case DISTRIBUTION:
2574 case DOCUMENT:
2575 case DURABILITY:
2576 case ENCRYPTED:
2577 case FILESTREAM:
2578 case FILETABLE:
2579 case FILLFACTOR:
2580 case FOLLOWING:
2581 case HASH:
2582 case HEAP:
2583 case INBOUND:
2584 case OUTBOUND:
2585 case UNBOUNDED:
2586 case INFINITE:
2587 case LOGIN:
2588 case MASKED:
2589 case MAXDOP:
2590 case MOVE:
2591 case NOCHECK:
2592 case OBJECT:
2593 case ONLINE:
2594 case OVER:
2595 case PAGE:
2596 case PAUSED:
2597 case PERIOD:
2598 case PERSISTED:
2599 case PRECEDING:
2600 case RANDOMIZED:
2601 case RANGE:
2602 case REBUILD:
2603 case REPLICATE:
2604 case REPLICATION:
2605 case RESUMABLE:
2606 case ROWGUIDCOL:
2607 case SAVE:
2608 case SELF:
2609 case SPARSE:
2610 case SWITCH:
2611 case TRAN:
2612 case TRANCOUNT:
2613 case CONTROL:
2614 case CONCAT:
2615 case TAKE:
2616 case OWNERSHIP:
2617 case DEFINITION:
2618 case APPLICATION:
2619 case ASSEMBLY:
2620 case SYMMETRIC:
2621 case ASYMMETRIC:
2622 case SERVER:
2623 case RECEIVE:
2624 case CHANGE:
2625 case TRACE:
2626 case TRACKING:
2627 case RESOURCES:
2628 case SETTINGS:
2629 case STATE:
2630 case AVAILABILITY:
2631 case CREDENTIAL:
2632 case ENDPOINT:
2633 case EVENT:
2634 case NOTIFICATION:
2635 case LINKED:
2636 case AUDIT:
2637 case DDL:
2638 case XML:
2639 case IMPERSONATE:
2640 case SECURABLES:
2641 case AUTHENTICATE:
2642 case EXTERNAL:
2643 case ACCESS:
2644 case ADMINISTER:
2645 case BULK:
2646 case OPERATIONS:
2647 case UNSAFE:
2648 case SHUTDOWN:
2649 case SCOPED:
2650 case CONFIGURATION:
2651 case DATASPACE:
2652 case SERVICE:
2653 case CERTIFICATE:
2654 case CONTRACT:
2655 case ENCRYPTION:
2656 case MASTER:
2657 case DATA:
2658 case SOURCE:
2659 case FILE:
2660 case FORMAT:
2661 case LIBRARY:
2662 case FULLTEXT:
2663 case MASK:
2664 case UNMASK:
2665 case MESSAGE:
2666 case REMOTE:
2667 case BINDING:
2668 case ROUTE:
2669 case SECURITY:
2670 case POLICY:
2671 case AGGREGATE:
2672 case QUEUE:
2673 case RULE:
2674 case SYNONYM:
2675 case COLLECTION:
2676 case SCRIPT:
2677 case KILL:
2678 case BACKUP:
2679 case LOG:
2680 case SHOWPLAN:
2681 case SUBSCRIBE:
2682 case QUERY:
2683 case NOTIFICATIONS:
2684 case CHECKPOINT:
2685 case SEQUENCE:
2686 case ABORT_AFTER_WAIT:
2687 case ALLOW_PAGE_LOCKS:
2688 case ALLOW_ROW_LOCKS:
2689 case ALL_SPARSE_COLUMNS:
2690 case BUCKET_COUNT:
2691 case COLUMNSTORE_ARCHIVE:
2692 case COLUMN_ENCRYPTION_KEY:
2693 case COLUMN_SET:
2694 case COMPRESSION_DELAY:
2695 case DATABASE_DEAULT:
2696 case DATA_COMPRESSION:
2697 case DATA_CONSISTENCY_CHECK:
2698 case ENCRYPTION_TYPE:
2699 case SYSTEM_TIME:
2700 case SYSTEM_VERSIONING:
2701 case TEXTIMAGE_ON:
2702 case WAIT_AT_LOW_PRIORITY:
2703 case STATISTICS_INCREMENTAL:
2704 case STATISTICS_NORECOMPUTE:
2705 case ROUND_ROBIN:
2706 case SCHEMA_AND_DATA:
2707 case SCHEMA_ONLY:
2708 case SORT_IN_TEMPDB:
2709 case IGNORE_DUP_KEY:
2710 case IMPLICIT_TRANSACTIONS:
2711 case MAX_DURATION:
2712 case MEMORY_OPTIMIZED:
2713 case MIGRATION_STATE:
2714 case PAD_INDEX:
2715 case REMOTE_DATA_ARCHIVE:
2716 case FILESTREAM_ON:
2717 case FILETABLE_COLLATE_FILENAME:
2718 case FILETABLE_DIRECTORY:
2719 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
2720 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
2721 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
2722 case FILTER_PREDICATE:
2723 case HISTORY_RETENTION_PERIOD:
2724 case HISTORY_TABLE:
2725 case LOCK_ESCALATION:
2726 case DROP_EXISTING:
2727 case ROW_NUMBER:
2728 case FIRST:
2729 case DATETIME2:
2730 case OUTPUT:
2731 case INSERTED:
2732 case DELETED:
2733 case FILENAME:
2734 case SIZE:
2735 case MAXSIZE:
2736 case FILEGROWTH:
2737 case UNLIMITED:
2738 case KB:
2739 case MB:
2740 case GB:
2741 case TB:
2742 case CONTAINS:
2743 case MEMORY_OPTIMIZED_DATA:
2744 case FILEGROUP:
2745 case NON_TRANSACTED_ACCESS:
2746 case DB_CHAINING:
2747 case TRUSTWORTHY:
2748 case FORWARD_ONLY:
2749 case KEYSET:
2750 case FAST_FORWARD:
2751 case SCROLL_LOCKS:
2752 case OPTIMISTIC:
2753 case TYPE_WARNING:
2754 case SCHEMABINDING:
2755 case CALLER:
2756 case OWNER:
2757 case SNAPSHOT:
2758 case REPEATABLE:
2759 case SERIALIZABLE:
2760 case NATIVE_COMPILATION:
2761 case VIEW_METADATA:
2762 case INSTEAD:
2763 case APPEND:
2764 case INCREMENT:
2765 case CACHE:
2766 case MINVALUE:
2767 case MAXVALUE:
2768 case RESTART:
2769 case LOB_COMPACTION:
2770 case COMPRESS_ALL_ROW_GROUPS:
2771 case REORGANIZE:
2772 case RESUME:
2773 case PAUSE:
2774 case ABORT:
2775 case ACCELERATED_DATABASE_RECOVERY:
2776 case PERSISTENT_VERSION_STORE_FILEGROUP:
2777 case IMMEDIATE:
2778 case NO_WAIT:
2779 case TARGET_RECOVERY_TIME:
2780 case SECONDS:
2781 case HONOR_BROKER_PRIORITY:
2782 case ERROR_BROKER_CONVERSATIONS:
2783 case NEW_BROKER:
2784 case DISABLE_BROKER:
2785 case ENABLE_BROKER:
2786 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
2787 case READ_COMMITTED_SNAPSHOT:
2788 case ALLOW_SNAPSHOT_ISOLATION:
2789 case RECURSIVE_TRIGGERS:
2790 case QUOTED_IDENTIFIER:
2791 case NUMERIC_ROUNDABORT:
2792 case CONCAT_NULL_YIELDS_NULL:
2793 case COMPATIBILITY_LEVEL:
2794 case ARITHABORT:
2795 case ANSI_WARNINGS:
2796 case ANSI_PADDING:
2797 case ANSI_NULLS:
2798 case ANSI_NULL_DEFAULT:
2799 case PAGE_VERIFY:
2800 case CHECKSUM:
2801 case TORN_PAGE_DETECTION:
2802 case BULK_LOGGED:
2803 case RECOVERY:
2804 case TOTAL_EXECUTION_CPU_TIME_MS:
2805 case TOTAL_COMPILE_CPU_TIME_MS:
2806 case STALE_CAPTURE_POLICY_THRESHOLD:
2807 case EXECUTION_COUNT:
2808 case QUERY_CAPTURE_POLICY:
2809 case WAIT_STATS_CAPTURE_MODE:
2810 case MAX_PLANS_PER_QUERY:
2811 case QUERY_CAPTURE_MODE:
2812 case SIZE_BASED_CLEANUP_MODE:
2813 case INTERVAL_LENGTH_MINUTES:
2814 case MAX_STORAGE_SIZE_MB:
2815 case DATA_FLUSH_INTERVAL_SECONDS:
2816 case CLEANUP_POLICY:
2817 case CUSTOM:
2818 case STALE_QUERY_THRESHOLD_DAYS:
2819 case OPERATION_MODE:
2820 case QUERY_STORE:
2821 case CURSOR_DEFAULT:
2822 case GLOBAL:
2823 case CURSOR_CLOSE_ON_COMMIT:
2824 case HOURS:
2825 case CHANGE_RETENTION:
2826 case AUTO_CLEANUP:
2827 case CHANGE_TRACKING:
2828 case AUTOMATIC_TUNING:
2829 case FORCE_LAST_GOOD_PLAN:
2830 case AUTO_UPDATE_STATISTICS_ASYNC:
2831 case AUTO_UPDATE_STATISTICS:
2832 case AUTO_SHRINK:
2833 case AUTO_CREATE_STATISTICS:
2834 case INCREMENTAL:
2835 case AUTO_CLOSE:
2836 case DATA_RETENTION:
2837 case TEMPORAL_HISTORY_RETENTION:
2838 case EDITION:
2839 case MIXED_PAGE_ALLOCATION:
2840 case DISABLED:
2841 case ALLOWED:
2842 case HADR:
2843 case MULTI_USER:
2844 case RESTRICTED_USER:
2845 case SINGLE_USER:
2846 case OFFLINE:
2847 case EMERGENCY:
2848 case SUSPEND:
2849 case DATE_CORRELATION_OPTIMIZATION:
2850 case ELASTIC_POOL:
2851 case SERVICE_OBJECTIVE:
2852 case DATABASE_NAME:
2853 case ALLOW_CONNECTIONS:
2854 case GEO:
2855 case NAMED:
2856 case DATEFIRST:
2857 case BACKUP_STORAGE_REDUNDANCY:
2858 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
2859 case SECONDARY:
2860 case FAILOVER:
2861 case DEFAULT_FULLTEXT_LANGUAGE:
2862 case DEFAULT_LANGUAGE:
2863 case INLINE:
2864 case NESTED_TRIGGERS:
2865 case TRANSFORM_NOISE_WORDS:
2866 case TWO_DIGIT_YEAR_CUTOFF:
2867 case PERSISTENT_LOG_BUFFER:
2868 case DIRECTORY_NAME:
2869 case DATEFORMAT:
2870 case DELAYED_DURABILITY:
2871 case AUTHORIZATION:
2872 case TRANSFER:
2873 case PROVIDER:
2874 case SEARCH:
2875 case MEMBER:
2876 case IDENTIFIER_:
2877 enterOuterAlt(_localctx, 1);
2878 {
2879 setState(1166);
2880 regularIdentifier();
2881 }
2882 break;
2883 case DELIMITED_IDENTIFIER_:
2884 enterOuterAlt(_localctx, 2);
2885 {
2886 setState(1167);
2887 delimitedIdentifier();
2888 }
2889 break;
2890 default:
2891 throw new NoViableAltException(this);
2892 }
2893 }
2894 catch (RecognitionException re) {
2895 _localctx.exception = re;
2896 _errHandler.reportError(this, re);
2897 _errHandler.recover(this, re);
2898 }
2899 finally {
2900 exitRule();
2901 }
2902 return _localctx;
2903 }
2904
2905 public static class RegularIdentifierContext extends ParserRuleContext {
2906 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
2907 public UnreservedWordContext unreservedWord() {
2908 return getRuleContext(UnreservedWordContext.class,0);
2909 }
2910 public RegularIdentifierContext(ParserRuleContext parent, int invokingState) {
2911 super(parent, invokingState);
2912 }
2913 @Override public int getRuleIndex() { return RULE_regularIdentifier; }
2914 @Override
2915 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2916 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularIdentifier(this);
2917 else return visitor.visitChildren(this);
2918 }
2919 }
2920
2921 public final RegularIdentifierContext regularIdentifier() throws RecognitionException {
2922 RegularIdentifierContext _localctx = new RegularIdentifierContext(_ctx, getState());
2923 enterRule(_localctx, 44, RULE_regularIdentifier);
2924 try {
2925 setState(1172);
2926 _errHandler.sync(this);
2927 switch (_input.LA(1)) {
2928 case IDENTIFIER_:
2929 enterOuterAlt(_localctx, 1);
2930 {
2931 setState(1170);
2932 match(IDENTIFIER_);
2933 }
2934 break;
2935 case TRUNCATE:
2936 case SCHEMA:
2937 case COLUMNS:
2938 case PRECISION:
2939 case FUNCTION:
2940 case TRIGGER:
2941 case CAST:
2942 case SUBSTRING:
2943 case OFF:
2944 case GROUP:
2945 case LIMIT:
2946 case OFFSET:
2947 case SAVEPOINT:
2948 case BOOLEAN:
2949 case ARRAY:
2950 case DATE:
2951 case LOCALTIME:
2952 case LOCALTIMESTAMP:
2953 case QUARTER:
2954 case MONTH:
2955 case WEEK:
2956 case DAY:
2957 case SECOND:
2958 case MICROSECOND:
2959 case MAX:
2960 case MIN:
2961 case SUM:
2962 case COUNT:
2963 case AVG:
2964 case ENABLE:
2965 case DISABLE:
2966 case INSTANCE:
2967 case DO:
2968 case DEFINER:
2969 case SQL:
2970 case CASCADED:
2971 case LOCAL:
2972 case NEXT:
2973 case NAME:
2974 case INTEGER:
2975 case TYPE:
2976 case TEXT:
2977 case VIEWS:
2978 case READ_ONLY:
2979 case DATABASE:
2980 case RETURNS:
2981 case DATEPART:
2982 case PASSWORD:
2983 case BINARY:
2984 case HIDDEN_:
2985 case MOD:
2986 case PARTITION:
2987 case PARTITIONS:
2988 case TOP:
2989 case ROW:
2990 case ROWS:
2991 case XOR:
2992 case ALWAYS:
2993 case ROLE:
2994 case START:
2995 case ALGORITHM:
2996 case AUTO:
2997 case BLOCKERS:
2998 case CLUSTERED:
2999 case NONCLUSTERED:
3000 case COLUMNSTORE:
3001 case CONTENT:
3002 case YEARS:
3003 case MONTHS:
3004 case WEEKS:
3005 case DAYS:
3006 case MINUTES:
3007 case DENY:
3008 case DETERMINISTIC:
3009 case DISTRIBUTION:
3010 case DOCUMENT:
3011 case DURABILITY:
3012 case ENCRYPTED:
3013 case FILESTREAM:
3014 case FILETABLE:
3015 case FILLFACTOR:
3016 case FOLLOWING:
3017 case HASH:
3018 case HEAP:
3019 case INBOUND:
3020 case OUTBOUND:
3021 case UNBOUNDED:
3022 case INFINITE:
3023 case LOGIN:
3024 case MASKED:
3025 case MAXDOP:
3026 case MOVE:
3027 case NOCHECK:
3028 case OBJECT:
3029 case ONLINE:
3030 case OVER:
3031 case PAGE:
3032 case PAUSED:
3033 case PERIOD:
3034 case PERSISTED:
3035 case PRECEDING:
3036 case RANDOMIZED:
3037 case RANGE:
3038 case REBUILD:
3039 case REPLICATE:
3040 case REPLICATION:
3041 case RESUMABLE:
3042 case ROWGUIDCOL:
3043 case SAVE:
3044 case SELF:
3045 case SPARSE:
3046 case SWITCH:
3047 case TRAN:
3048 case TRANCOUNT:
3049 case CONTROL:
3050 case CONCAT:
3051 case TAKE:
3052 case OWNERSHIP:
3053 case DEFINITION:
3054 case APPLICATION:
3055 case ASSEMBLY:
3056 case SYMMETRIC:
3057 case ASYMMETRIC:
3058 case SERVER:
3059 case RECEIVE:
3060 case CHANGE:
3061 case TRACE:
3062 case TRACKING:
3063 case RESOURCES:
3064 case SETTINGS:
3065 case STATE:
3066 case AVAILABILITY:
3067 case CREDENTIAL:
3068 case ENDPOINT:
3069 case EVENT:
3070 case NOTIFICATION:
3071 case LINKED:
3072 case AUDIT:
3073 case DDL:
3074 case XML:
3075 case IMPERSONATE:
3076 case SECURABLES:
3077 case AUTHENTICATE:
3078 case EXTERNAL:
3079 case ACCESS:
3080 case ADMINISTER:
3081 case BULK:
3082 case OPERATIONS:
3083 case UNSAFE:
3084 case SHUTDOWN:
3085 case SCOPED:
3086 case CONFIGURATION:
3087 case DATASPACE:
3088 case SERVICE:
3089 case CERTIFICATE:
3090 case CONTRACT:
3091 case ENCRYPTION:
3092 case MASTER:
3093 case DATA:
3094 case SOURCE:
3095 case FILE:
3096 case FORMAT:
3097 case LIBRARY:
3098 case FULLTEXT:
3099 case MASK:
3100 case UNMASK:
3101 case MESSAGE:
3102 case REMOTE:
3103 case BINDING:
3104 case ROUTE:
3105 case SECURITY:
3106 case POLICY:
3107 case AGGREGATE:
3108 case QUEUE:
3109 case RULE:
3110 case SYNONYM:
3111 case COLLECTION:
3112 case SCRIPT:
3113 case KILL:
3114 case BACKUP:
3115 case LOG:
3116 case SHOWPLAN:
3117 case SUBSCRIBE:
3118 case QUERY:
3119 case NOTIFICATIONS:
3120 case CHECKPOINT:
3121 case SEQUENCE:
3122 case ABORT_AFTER_WAIT:
3123 case ALLOW_PAGE_LOCKS:
3124 case ALLOW_ROW_LOCKS:
3125 case ALL_SPARSE_COLUMNS:
3126 case BUCKET_COUNT:
3127 case COLUMNSTORE_ARCHIVE:
3128 case COLUMN_ENCRYPTION_KEY:
3129 case COLUMN_SET:
3130 case COMPRESSION_DELAY:
3131 case DATABASE_DEAULT:
3132 case DATA_COMPRESSION:
3133 case DATA_CONSISTENCY_CHECK:
3134 case ENCRYPTION_TYPE:
3135 case SYSTEM_TIME:
3136 case SYSTEM_VERSIONING:
3137 case TEXTIMAGE_ON:
3138 case WAIT_AT_LOW_PRIORITY:
3139 case STATISTICS_INCREMENTAL:
3140 case STATISTICS_NORECOMPUTE:
3141 case ROUND_ROBIN:
3142 case SCHEMA_AND_DATA:
3143 case SCHEMA_ONLY:
3144 case SORT_IN_TEMPDB:
3145 case IGNORE_DUP_KEY:
3146 case IMPLICIT_TRANSACTIONS:
3147 case MAX_DURATION:
3148 case MEMORY_OPTIMIZED:
3149 case MIGRATION_STATE:
3150 case PAD_INDEX:
3151 case REMOTE_DATA_ARCHIVE:
3152 case FILESTREAM_ON:
3153 case FILETABLE_COLLATE_FILENAME:
3154 case FILETABLE_DIRECTORY:
3155 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
3156 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
3157 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
3158 case FILTER_PREDICATE:
3159 case HISTORY_RETENTION_PERIOD:
3160 case HISTORY_TABLE:
3161 case LOCK_ESCALATION:
3162 case DROP_EXISTING:
3163 case ROW_NUMBER:
3164 case FIRST:
3165 case DATETIME2:
3166 case OUTPUT:
3167 case INSERTED:
3168 case DELETED:
3169 case FILENAME:
3170 case SIZE:
3171 case MAXSIZE:
3172 case FILEGROWTH:
3173 case UNLIMITED:
3174 case KB:
3175 case MB:
3176 case GB:
3177 case TB:
3178 case CONTAINS:
3179 case MEMORY_OPTIMIZED_DATA:
3180 case FILEGROUP:
3181 case NON_TRANSACTED_ACCESS:
3182 case DB_CHAINING:
3183 case TRUSTWORTHY:
3184 case FORWARD_ONLY:
3185 case KEYSET:
3186 case FAST_FORWARD:
3187 case SCROLL_LOCKS:
3188 case OPTIMISTIC:
3189 case TYPE_WARNING:
3190 case SCHEMABINDING:
3191 case CALLER:
3192 case OWNER:
3193 case SNAPSHOT:
3194 case REPEATABLE:
3195 case SERIALIZABLE:
3196 case NATIVE_COMPILATION:
3197 case VIEW_METADATA:
3198 case INSTEAD:
3199 case APPEND:
3200 case INCREMENT:
3201 case CACHE:
3202 case MINVALUE:
3203 case MAXVALUE:
3204 case RESTART:
3205 case LOB_COMPACTION:
3206 case COMPRESS_ALL_ROW_GROUPS:
3207 case REORGANIZE:
3208 case RESUME:
3209 case PAUSE:
3210 case ABORT:
3211 case ACCELERATED_DATABASE_RECOVERY:
3212 case PERSISTENT_VERSION_STORE_FILEGROUP:
3213 case IMMEDIATE:
3214 case NO_WAIT:
3215 case TARGET_RECOVERY_TIME:
3216 case SECONDS:
3217 case HONOR_BROKER_PRIORITY:
3218 case ERROR_BROKER_CONVERSATIONS:
3219 case NEW_BROKER:
3220 case DISABLE_BROKER:
3221 case ENABLE_BROKER:
3222 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
3223 case READ_COMMITTED_SNAPSHOT:
3224 case ALLOW_SNAPSHOT_ISOLATION:
3225 case RECURSIVE_TRIGGERS:
3226 case QUOTED_IDENTIFIER:
3227 case NUMERIC_ROUNDABORT:
3228 case CONCAT_NULL_YIELDS_NULL:
3229 case COMPATIBILITY_LEVEL:
3230 case ARITHABORT:
3231 case ANSI_WARNINGS:
3232 case ANSI_PADDING:
3233 case ANSI_NULLS:
3234 case ANSI_NULL_DEFAULT:
3235 case PAGE_VERIFY:
3236 case CHECKSUM:
3237 case TORN_PAGE_DETECTION:
3238 case BULK_LOGGED:
3239 case RECOVERY:
3240 case TOTAL_EXECUTION_CPU_TIME_MS:
3241 case TOTAL_COMPILE_CPU_TIME_MS:
3242 case STALE_CAPTURE_POLICY_THRESHOLD:
3243 case EXECUTION_COUNT:
3244 case QUERY_CAPTURE_POLICY:
3245 case WAIT_STATS_CAPTURE_MODE:
3246 case MAX_PLANS_PER_QUERY:
3247 case QUERY_CAPTURE_MODE:
3248 case SIZE_BASED_CLEANUP_MODE:
3249 case INTERVAL_LENGTH_MINUTES:
3250 case MAX_STORAGE_SIZE_MB:
3251 case DATA_FLUSH_INTERVAL_SECONDS:
3252 case CLEANUP_POLICY:
3253 case CUSTOM:
3254 case STALE_QUERY_THRESHOLD_DAYS:
3255 case OPERATION_MODE:
3256 case QUERY_STORE:
3257 case CURSOR_DEFAULT:
3258 case GLOBAL:
3259 case CURSOR_CLOSE_ON_COMMIT:
3260 case HOURS:
3261 case CHANGE_RETENTION:
3262 case AUTO_CLEANUP:
3263 case CHANGE_TRACKING:
3264 case AUTOMATIC_TUNING:
3265 case FORCE_LAST_GOOD_PLAN:
3266 case AUTO_UPDATE_STATISTICS_ASYNC:
3267 case AUTO_UPDATE_STATISTICS:
3268 case AUTO_SHRINK:
3269 case AUTO_CREATE_STATISTICS:
3270 case INCREMENTAL:
3271 case AUTO_CLOSE:
3272 case DATA_RETENTION:
3273 case TEMPORAL_HISTORY_RETENTION:
3274 case EDITION:
3275 case MIXED_PAGE_ALLOCATION:
3276 case DISABLED:
3277 case ALLOWED:
3278 case HADR:
3279 case MULTI_USER:
3280 case RESTRICTED_USER:
3281 case SINGLE_USER:
3282 case OFFLINE:
3283 case EMERGENCY:
3284 case SUSPEND:
3285 case DATE_CORRELATION_OPTIMIZATION:
3286 case ELASTIC_POOL:
3287 case SERVICE_OBJECTIVE:
3288 case DATABASE_NAME:
3289 case ALLOW_CONNECTIONS:
3290 case GEO:
3291 case NAMED:
3292 case DATEFIRST:
3293 case BACKUP_STORAGE_REDUNDANCY:
3294 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
3295 case SECONDARY:
3296 case FAILOVER:
3297 case DEFAULT_FULLTEXT_LANGUAGE:
3298 case DEFAULT_LANGUAGE:
3299 case INLINE:
3300 case NESTED_TRIGGERS:
3301 case TRANSFORM_NOISE_WORDS:
3302 case TWO_DIGIT_YEAR_CUTOFF:
3303 case PERSISTENT_LOG_BUFFER:
3304 case DIRECTORY_NAME:
3305 case DATEFORMAT:
3306 case DELAYED_DURABILITY:
3307 case AUTHORIZATION:
3308 case TRANSFER:
3309 case PROVIDER:
3310 case SEARCH:
3311 case MEMBER:
3312 enterOuterAlt(_localctx, 2);
3313 {
3314 setState(1171);
3315 unreservedWord();
3316 }
3317 break;
3318 default:
3319 throw new NoViableAltException(this);
3320 }
3321 }
3322 catch (RecognitionException re) {
3323 _localctx.exception = re;
3324 _errHandler.reportError(this, re);
3325 _errHandler.recover(this, re);
3326 }
3327 finally {
3328 exitRule();
3329 }
3330 return _localctx;
3331 }
3332
3333 public static class DelimitedIdentifierContext extends ParserRuleContext {
3334 public TerminalNode DELIMITED_IDENTIFIER_() { return getToken(SQLServerStatementParser.DELIMITED_IDENTIFIER_, 0); }
3335 public DelimitedIdentifierContext(ParserRuleContext parent, int invokingState) {
3336 super(parent, invokingState);
3337 }
3338 @Override public int getRuleIndex() { return RULE_delimitedIdentifier; }
3339 @Override
3340 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3341 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelimitedIdentifier(this);
3342 else return visitor.visitChildren(this);
3343 }
3344 }
3345
3346 public final DelimitedIdentifierContext delimitedIdentifier() throws RecognitionException {
3347 DelimitedIdentifierContext _localctx = new DelimitedIdentifierContext(_ctx, getState());
3348 enterRule(_localctx, 46, RULE_delimitedIdentifier);
3349 try {
3350 enterOuterAlt(_localctx, 1);
3351 {
3352 setState(1174);
3353 match(DELIMITED_IDENTIFIER_);
3354 }
3355 }
3356 catch (RecognitionException re) {
3357 _localctx.exception = re;
3358 _errHandler.reportError(this, re);
3359 _errHandler.recover(this, re);
3360 }
3361 finally {
3362 exitRule();
3363 }
3364 return _localctx;
3365 }
3366
3367 public static class UnreservedWordContext extends ParserRuleContext {
3368 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
3369 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
3370 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
3371 public TerminalNode LIMIT() { return getToken(SQLServerStatementParser.LIMIT, 0); }
3372 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
3373 public TerminalNode SAVEPOINT() { return getToken(SQLServerStatementParser.SAVEPOINT, 0); }
3374 public TerminalNode BOOLEAN() { return getToken(SQLServerStatementParser.BOOLEAN, 0); }
3375 public TerminalNode ARRAY() { return getToken(SQLServerStatementParser.ARRAY, 0); }
3376 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
3377 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
3378 public TerminalNode QUARTER() { return getToken(SQLServerStatementParser.QUARTER, 0); }
3379 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
3380 public TerminalNode MICROSECOND() { return getToken(SQLServerStatementParser.MICROSECOND, 0); }
3381 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
3382 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
3383 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
3384 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
3385 public TerminalNode MOD() { return getToken(SQLServerStatementParser.MOD, 0); }
3386 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
3387 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
3388 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
3389 public TerminalNode XOR() { return getToken(SQLServerStatementParser.XOR, 0); }
3390 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
3391 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
3392 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
3393 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
3394 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
3395 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
3396 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
3397 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
3398 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
3399 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
3400 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
3401 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
3402 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
3403 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
3404 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
3405 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
3406 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
3407 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
3408 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
3409 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
3410 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
3411 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
3412 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
3413 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
3414 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
3415 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
3416 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
3417 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
3418 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
3419 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
3420 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
3421 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
3422 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
3423 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
3424 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
3425 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
3426 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
3427 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
3428 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
3429 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
3430 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
3431 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
3432 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
3433 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
3434 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
3435 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
3436 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
3437 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
3438 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
3439 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
3440 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
3441 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
3442 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
3443 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
3444 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
3445 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
3446 public TerminalNode TRANCOUNT() { return getToken(SQLServerStatementParser.TRANCOUNT, 0); }
3447 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
3448 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
3449 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
3450 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
3451 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
3452 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
3453 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
3454 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
3455 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
3456 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
3457 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
3458 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
3459 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
3460 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
3461 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
3462 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
3463 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
3464 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
3465 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
3466 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
3467 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
3468 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
3469 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
3470 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
3471 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
3472 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
3473 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
3474 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
3475 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
3476 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
3477 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
3478 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
3479 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
3480 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
3481 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
3482 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
3483 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
3484 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
3485 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
3486 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
3487 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
3488 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
3489 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
3490 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
3491 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
3492 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
3493 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
3494 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
3495 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
3496 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
3497 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
3498 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
3499 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
3500 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
3501 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
3502 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
3503 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
3504 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
3505 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
3506 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
3507 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
3508 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
3509 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
3510 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
3511 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
3512 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
3513 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
3514 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
3515 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
3516 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
3517 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
3518 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
3519 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
3520 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
3521 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
3522 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
3523 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
3524 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
3525 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
3526 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
3527 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
3528 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
3529 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
3530 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
3531 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
3532 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
3533 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
3534 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
3535 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
3536 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
3537 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
3538 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
3539 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
3540 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
3541 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
3542 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
3543 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
3544 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
3545 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
3546 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
3547 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
3548 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
3549 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
3550 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
3551 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
3552 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
3553 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
3554 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
3555 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
3556 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
3557 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
3558 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
3559 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
3560 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
3561 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
3562 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
3563 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
3564 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
3565 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
3566 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
3567 public TerminalNode INSTANCE() { return getToken(SQLServerStatementParser.INSTANCE, 0); }
3568 public TerminalNode DO() { return getToken(SQLServerStatementParser.DO, 0); }
3569 public TerminalNode DEFINER() { return getToken(SQLServerStatementParser.DEFINER, 0); }
3570 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
3571 public TerminalNode CASCADED() { return getToken(SQLServerStatementParser.CASCADED, 0); }
3572 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
3573 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
3574 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
3575 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
3576 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
3577 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
3578 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
3579 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
3580 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
3581 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
3582 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
3583 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
3584 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
3585 public TerminalNode KB() { return getToken(SQLServerStatementParser.KB, 0); }
3586 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
3587 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
3588 public TerminalNode TB() { return getToken(SQLServerStatementParser.TB, 0); }
3589 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
3590 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
3591 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
3592 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
3593 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
3594 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
3595 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
3596 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
3597 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
3598 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
3599 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
3600 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
3601 public TerminalNode DATEPART() { return getToken(SQLServerStatementParser.DATEPART, 0); }
3602 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
3603 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
3604 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
3605 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
3606 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
3607 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
3608 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
3609 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
3610 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
3611 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
3612 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
3613 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
3614 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
3615 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
3616 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
3617 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
3618 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
3619 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
3620 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
3621 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
3622 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
3623 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
3624 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
3625 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
3626 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
3627 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
3628 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
3629 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
3630 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
3631 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
3632 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
3633 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
3634 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
3635 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
3636 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
3637 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
3638 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
3639 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
3640 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
3641 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
3642 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
3643 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
3644 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
3645 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
3646 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
3647 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
3648 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
3649 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
3650 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
3651 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
3652 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
3653 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
3654 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
3655 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
3656 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
3657 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
3658 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
3659 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
3660 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
3661 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
3662 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
3663 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
3664 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
3665 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
3666 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
3667 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
3668 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
3669 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
3670 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
3671 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
3672 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
3673 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
3674 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
3675 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
3676 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
3677 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
3678 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
3679 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
3680 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
3681 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
3682 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
3683 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
3684 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
3685 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
3686 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
3687 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
3688 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
3689 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
3690 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
3691 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
3692 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
3693 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
3694 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
3695 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
3696 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
3697 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
3698 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
3699 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
3700 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
3701 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
3702 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
3703 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
3704 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
3705 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
3706 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
3707 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
3708 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
3709 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
3710 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
3711 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
3712 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
3713 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
3714 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
3715 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
3716 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
3717 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
3718 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
3719 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
3720 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
3721 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
3722 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
3723 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
3724 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
3725 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
3726 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
3727 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
3728 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
3729 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
3730 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
3731 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
3732 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
3733 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
3734 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
3735 public TerminalNode SECOND() { return getToken(SQLServerStatementParser.SECOND, 0); }
3736 public TerminalNode PRECISION() { return getToken(SQLServerStatementParser.PRECISION, 0); }
3737 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
3738 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
3739 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
3740 public TerminalNode SUBSTRING() { return getToken(SQLServerStatementParser.SUBSTRING, 0); }
3741 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
3742 public TerminalNode SIZE() { return getToken(SQLServerStatementParser.SIZE, 0); }
3743 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
3744 public TerminalNode MONTH() { return getToken(SQLServerStatementParser.MONTH, 0); }
3745 public UnreservedWordContext(ParserRuleContext parent, int invokingState) {
3746 super(parent, invokingState);
3747 }
3748 @Override public int getRuleIndex() { return RULE_unreservedWord; }
3749 @Override
3750 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3751 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnreservedWord(this);
3752 else return visitor.visitChildren(this);
3753 }
3754 }
3755
3756 public final UnreservedWordContext unreservedWord() throws RecognitionException {
3757 UnreservedWordContext _localctx = new UnreservedWordContext(_ctx, getState());
3758 enterRule(_localctx, 48, RULE_unreservedWord);
3759 int _la;
3760 try {
3761 enterOuterAlt(_localctx, 1);
3762 {
3763 setState(1176);
3764 _la = _input.LA(1);
3765 if ( !(((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)))) != 0) || ((((_la - 254)) & ~0x3f) == 0 && ((1L << (_la - 254)) & ((1L << (ROLE - 254)) | (1L << (START - 254)) | (1L << (ALGORITHM - 254)) | (1L << (AUTO - 254)) | (1L << (BLOCKERS - 254)) | (1L << (CLUSTERED - 254)) | (1L << (NONCLUSTERED - 254)) | (1L << (COLUMNSTORE - 254)) | (1L << (CONTENT - 254)) | (1L << (YEARS - 254)) | (1L << (MONTHS - 254)) | (1L << (WEEKS - 254)) | (1L << (DAYS - 254)) | (1L << (MINUTES - 254)) | (1L << (DENY - 254)) | (1L << (DETERMINISTIC - 254)) | (1L << (DISTRIBUTION - 254)) | (1L << (DOCUMENT - 254)) | (1L << (DURABILITY - 254)) | (1L << (ENCRYPTED - 254)) | (1L << (FILESTREAM - 254)) | (1L << (FILETABLE - 254)) | (1L << (FILLFACTOR - 254)) | (1L << (FOLLOWING - 254)) | (1L << (HASH - 254)) | (1L << (HEAP - 254)) | (1L << (INBOUND - 254)) | (1L << (OUTBOUND - 254)) | (1L << (UNBOUNDED - 254)) | (1L << (INFINITE - 254)) | (1L << (LOGIN - 254)) | (1L << (MASKED - 254)) | (1L << (MAXDOP - 254)) | (1L << (MOVE - 254)) | (1L << (NOCHECK - 254)) | (1L << (OBJECT - 254)) | (1L << (ONLINE - 254)) | (1L << (OVER - 254)) | (1L << (PAGE - 254)) | (1L << (PAUSED - 254)) | (1L << (PERIOD - 254)) | (1L << (PERSISTED - 254)) | (1L << (PRECEDING - 254)) | (1L << (RANDOMIZED - 254)) | (1L << (RANGE - 254)) | (1L << (REBUILD - 254)) | (1L << (REPLICATE - 254)) | (1L << (REPLICATION - 254)) | (1L << (RESUMABLE - 254)) | (1L << (ROWGUIDCOL - 254)) | (1L << (SAVE - 254)) | (1L << (SELF - 254)) | (1L << (SPARSE - 254)) | (1L << (SWITCH - 254)) | (1L << (TRAN - 254)) | (1L << (TRANCOUNT - 254)))) != 0) || ((((_la - 324)) & ~0x3f) == 0 && ((1L << (_la - 324)) & ((1L << (CONTROL - 324)) | (1L << (CONCAT - 324)) | (1L << (TAKE - 324)) | (1L << (OWNERSHIP - 324)) | (1L << (DEFINITION - 324)) | (1L << (APPLICATION - 324)) | (1L << (ASSEMBLY - 324)) | (1L << (SYMMETRIC - 324)) | (1L << (ASYMMETRIC - 324)) | (1L << (SERVER - 324)) | (1L << (RECEIVE - 324)) | (1L << (CHANGE - 324)) | (1L << (TRACE - 324)) | (1L << (TRACKING - 324)) | (1L << (RESOURCES - 324)) | (1L << (SETTINGS - 324)) | (1L << (STATE - 324)) | (1L << (AVAILABILITY - 324)) | (1L << (CREDENTIAL - 324)) | (1L << (ENDPOINT - 324)) | (1L << (EVENT - 324)) | (1L << (NOTIFICATION - 324)) | (1L << (LINKED - 324)) | (1L << (AUDIT - 324)) | (1L << (DDL - 324)) | (1L << (XML - 324)) | (1L << (IMPERSONATE - 324)) | (1L << (SECURABLES - 324)) | (1L << (AUTHENTICATE - 324)) | (1L << (EXTERNAL - 324)) | (1L << (ACCESS - 324)) | (1L << (ADMINISTER - 324)) | (1L << (BULK - 324)) | (1L << (OPERATIONS - 324)) | (1L << (UNSAFE - 324)) | (1L << (SHUTDOWN - 324)) | (1L << (SCOPED - 324)) | (1L << (CONFIGURATION - 324)) | (1L << (DATASPACE - 324)) | (1L << (SERVICE - 324)) | (1L << (CERTIFICATE - 324)) | (1L << (CONTRACT - 324)) | (1L << (ENCRYPTION - 324)) | (1L << (MASTER - 324)) | (1L << (DATA - 324)) | (1L << (SOURCE - 324)) | (1L << (FILE - 324)) | (1L << (FORMAT - 324)) | (1L << (LIBRARY - 324)) | (1L << (FULLTEXT - 324)) | (1L << (MASK - 324)) | (1L << (UNMASK - 324)) | (1L << (MESSAGE - 324)) | (1L << (REMOTE - 324)) | (1L << (BINDING - 324)) | (1L << (ROUTE - 324)) | (1L << (SECURITY - 324)) | (1L << (POLICY - 324)) | (1L << (AGGREGATE - 324)) | (1L << (QUEUE - 324)) | (1L << (RULE - 324)) | (1L << (SYNONYM - 324)) | (1L << (COLLECTION - 324)) | (1L << (SCRIPT - 324)))) != 0) || ((((_la - 388)) & ~0x3f) == 0 && ((1L << (_la - 388)) & ((1L << (KILL - 388)) | (1L << (BACKUP - 388)) | (1L << (LOG - 388)) | (1L << (SHOWPLAN - 388)) | (1L << (SUBSCRIBE - 388)) | (1L << (QUERY - 388)) | (1L << (NOTIFICATIONS - 388)) | (1L << (CHECKPOINT - 388)) | (1L << (SEQUENCE - 388)) | (1L << (ABORT_AFTER_WAIT - 388)) | (1L << (ALLOW_PAGE_LOCKS - 388)) | (1L << (ALLOW_ROW_LOCKS - 388)) | (1L << (ALL_SPARSE_COLUMNS - 388)) | (1L << (BUCKET_COUNT - 388)) | (1L << (COLUMNSTORE_ARCHIVE - 388)) | (1L << (COLUMN_ENCRYPTION_KEY - 388)) | (1L << (COLUMN_SET - 388)) | (1L << (COMPRESSION_DELAY - 388)) | (1L << (DATABASE_DEAULT - 388)) | (1L << (DATA_COMPRESSION - 388)) | (1L << (DATA_CONSISTENCY_CHECK - 388)) | (1L << (ENCRYPTION_TYPE - 388)) | (1L << (SYSTEM_TIME - 388)) | (1L << (SYSTEM_VERSIONING - 388)) | (1L << (TEXTIMAGE_ON - 388)) | (1L << (WAIT_AT_LOW_PRIORITY - 388)) | (1L << (STATISTICS_INCREMENTAL - 388)) | (1L << (STATISTICS_NORECOMPUTE - 388)) | (1L << (ROUND_ROBIN - 388)) | (1L << (SCHEMA_AND_DATA - 388)) | (1L << (SCHEMA_ONLY - 388)) | (1L << (SORT_IN_TEMPDB - 388)) | (1L << (IGNORE_DUP_KEY - 388)) | (1L << (IMPLICIT_TRANSACTIONS - 388)) | (1L << (MAX_DURATION - 388)) | (1L << (MEMORY_OPTIMIZED - 388)) | (1L << (MIGRATION_STATE - 388)) | (1L << (PAD_INDEX - 388)) | (1L << (REMOTE_DATA_ARCHIVE - 388)) | (1L << (FILESTREAM_ON - 388)) | (1L << (FILETABLE_COLLATE_FILENAME - 388)) | (1L << (FILETABLE_DIRECTORY - 388)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILTER_PREDICATE - 388)) | (1L << (HISTORY_RETENTION_PERIOD - 388)) | (1L << (HISTORY_TABLE - 388)) | (1L << (LOCK_ESCALATION - 388)) | (1L << (DROP_EXISTING - 388)) | (1L << (ROW_NUMBER - 388)) | (1L << (FIRST - 388)) | (1L << (DATETIME2 - 388)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (OUTPUT - 458)) | (1L << (INSERTED - 458)) | (1L << (DELETED - 458)) | (1L << (FILENAME - 458)) | (1L << (SIZE - 458)) | (1L << (MAXSIZE - 458)) | (1L << (FILEGROWTH - 458)) | (1L << (UNLIMITED - 458)) | (1L << (KB - 458)) | (1L << (MB - 458)) | (1L << (GB - 458)) | (1L << (TB - 458)) | (1L << (CONTAINS - 458)) | (1L << (MEMORY_OPTIMIZED_DATA - 458)) | (1L << (FILEGROUP - 458)) | (1L << (NON_TRANSACTED_ACCESS - 458)) | (1L << (DB_CHAINING - 458)) | (1L << (TRUSTWORTHY - 458)) | (1L << (FORWARD_ONLY - 458)) | (1L << (KEYSET - 458)) | (1L << (FAST_FORWARD - 458)) | (1L << (SCROLL_LOCKS - 458)) | (1L << (OPTIMISTIC - 458)) | (1L << (TYPE_WARNING - 458)) | (1L << (SCHEMABINDING - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (CALLER - 522)) | (1L << (OWNER - 522)) | (1L << (SNAPSHOT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (SERIALIZABLE - 522)) | (1L << (NATIVE_COMPILATION - 522)) | (1L << (VIEW_METADATA - 522)) | (1L << (INSTEAD - 522)) | (1L << (APPEND - 522)) | (1L << (INCREMENT - 522)) | (1L << (CACHE - 522)) | (1L << (MINVALUE - 522)) | (1L << (MAXVALUE - 522)) | (1L << (RESTART - 522)) | (1L << (LOB_COMPACTION - 522)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 522)) | (1L << (REORGANIZE - 522)) | (1L << (RESUME - 522)) | (1L << (PAUSE - 522)) | (1L << (ABORT - 522)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 522)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 522)) | (1L << (IMMEDIATE - 522)) | (1L << (NO_WAIT - 522)) | (1L << (TARGET_RECOVERY_TIME - 522)) | (1L << (SECONDS - 522)) | (1L << (HONOR_BROKER_PRIORITY - 522)) | (1L << (ERROR_BROKER_CONVERSATIONS - 522)) | (1L << (NEW_BROKER - 522)) | (1L << (DISABLE_BROKER - 522)) | (1L << (ENABLE_BROKER - 522)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 522)) | (1L << (READ_COMMITTED_SNAPSHOT - 522)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 522)) | (1L << (RECURSIVE_TRIGGERS - 522)) | (1L << (QUOTED_IDENTIFIER - 522)) | (1L << (NUMERIC_ROUNDABORT - 522)) | (1L << (CONCAT_NULL_YIELDS_NULL - 522)) | (1L << (COMPATIBILITY_LEVEL - 522)) | (1L << (ARITHABORT - 522)) | (1L << (ANSI_WARNINGS - 522)) | (1L << (ANSI_PADDING - 522)) | (1L << (ANSI_NULLS - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (ANSI_NULL_DEFAULT - 586)) | (1L << (PAGE_VERIFY - 586)) | (1L << (CHECKSUM - 586)) | (1L << (TORN_PAGE_DETECTION - 586)) | (1L << (BULK_LOGGED - 586)) | (1L << (RECOVERY - 586)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 586)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 586)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 586)) | (1L << (EXECUTION_COUNT - 586)) | (1L << (QUERY_CAPTURE_POLICY - 586)) | (1L << (WAIT_STATS_CAPTURE_MODE - 586)) | (1L << (MAX_PLANS_PER_QUERY - 586)) | (1L << (QUERY_CAPTURE_MODE - 586)) | (1L << (SIZE_BASED_CLEANUP_MODE - 586)) | (1L << (INTERVAL_LENGTH_MINUTES - 586)) | (1L << (MAX_STORAGE_SIZE_MB - 586)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 586)) | (1L << (CLEANUP_POLICY - 586)) | (1L << (CUSTOM - 586)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 586)) | (1L << (OPERATION_MODE - 586)) | (1L << (QUERY_STORE - 586)) | (1L << (CURSOR_DEFAULT - 586)) | (1L << (GLOBAL - 586)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 586)) | (1L << (HOURS - 586)) | (1L << (CHANGE_RETENTION - 586)) | (1L << (AUTO_CLEANUP - 586)) | (1L << (CHANGE_TRACKING - 586)) | (1L << (AUTOMATIC_TUNING - 586)) | (1L << (FORCE_LAST_GOOD_PLAN - 586)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 586)) | (1L << (AUTO_UPDATE_STATISTICS - 586)) | (1L << (AUTO_SHRINK - 586)) | (1L << (AUTO_CREATE_STATISTICS - 586)) | (1L << (INCREMENTAL - 586)) | (1L << (AUTO_CLOSE - 586)) | (1L << (DATA_RETENTION - 586)) | (1L << (TEMPORAL_HISTORY_RETENTION - 586)) | (1L << (EDITION - 586)) | (1L << (MIXED_PAGE_ALLOCATION - 586)) | (1L << (DISABLED - 586)) | (1L << (ALLOWED - 586)) | (1L << (HADR - 586)) | (1L << (MULTI_USER - 586)) | (1L << (RESTRICTED_USER - 586)) | (1L << (SINGLE_USER - 586)) | (1L << (OFFLINE - 586)) | (1L << (EMERGENCY - 586)) | (1L << (SUSPEND - 586)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 586)) | (1L << (ELASTIC_POOL - 586)) | (1L << (SERVICE_OBJECTIVE - 586)) | (1L << (DATABASE_NAME - 586)) | (1L << (ALLOW_CONNECTIONS - 586)) | (1L << (GEO - 586)) | (1L << (NAMED - 586)) | (1L << (DATEFIRST - 586)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 586)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 586)) | (1L << (SECONDARY - 586)) | (1L << (FAILOVER - 586)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (DEFAULT_LANGUAGE - 650)) | (1L << (INLINE - 650)) | (1L << (NESTED_TRIGGERS - 650)) | (1L << (TRANSFORM_NOISE_WORDS - 650)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 650)) | (1L << (PERSISTENT_LOG_BUFFER - 650)) | (1L << (DIRECTORY_NAME - 650)) | (1L << (DATEFORMAT - 650)) | (1L << (DELAYED_DURABILITY - 650)) | (1L << (AUTHORIZATION - 650)) | (1L << (TRANSFER - 650)) | (1L << (PROVIDER - 650)) | (1L << (SEARCH - 650)) | (1L << (MEMBER - 650)))) != 0)) ) {
3766 _errHandler.recoverInline(this);
3767 }
3768 else {
3769 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
3770 _errHandler.reportMatch(this);
3771 consume();
3772 }
3773 }
3774 }
3775 catch (RecognitionException re) {
3776 _localctx.exception = re;
3777 _errHandler.reportError(this, re);
3778 _errHandler.recover(this, re);
3779 }
3780 finally {
3781 exitRule();
3782 }
3783 return _localctx;
3784 }
3785
3786 public static class DatabaseNameContext extends ParserRuleContext {
3787 public IdentifierContext identifier() {
3788 return getRuleContext(IdentifierContext.class,0);
3789 }
3790 public DatabaseNameContext(ParserRuleContext parent, int invokingState) {
3791 super(parent, invokingState);
3792 }
3793 @Override public int getRuleIndex() { return RULE_databaseName; }
3794 @Override
3795 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3796 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseName(this);
3797 else return visitor.visitChildren(this);
3798 }
3799 }
3800
3801 public final DatabaseNameContext databaseName() throws RecognitionException {
3802 DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState());
3803 enterRule(_localctx, 50, RULE_databaseName);
3804 try {
3805 enterOuterAlt(_localctx, 1);
3806 {
3807 setState(1178);
3808 identifier();
3809 }
3810 }
3811 catch (RecognitionException re) {
3812 _localctx.exception = re;
3813 _errHandler.reportError(this, re);
3814 _errHandler.recover(this, re);
3815 }
3816 finally {
3817 exitRule();
3818 }
3819 return _localctx;
3820 }
3821
3822 public static class SchemaNameContext extends ParserRuleContext {
3823 public IdentifierContext identifier() {
3824 return getRuleContext(IdentifierContext.class,0);
3825 }
3826 public SchemaNameContext(ParserRuleContext parent, int invokingState) {
3827 super(parent, invokingState);
3828 }
3829 @Override public int getRuleIndex() { return RULE_schemaName; }
3830 @Override
3831 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3832 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaName(this);
3833 else return visitor.visitChildren(this);
3834 }
3835 }
3836
3837 public final SchemaNameContext schemaName() throws RecognitionException {
3838 SchemaNameContext _localctx = new SchemaNameContext(_ctx, getState());
3839 enterRule(_localctx, 52, RULE_schemaName);
3840 try {
3841 enterOuterAlt(_localctx, 1);
3842 {
3843 setState(1180);
3844 identifier();
3845 }
3846 }
3847 catch (RecognitionException re) {
3848 _localctx.exception = re;
3849 _errHandler.reportError(this, re);
3850 _errHandler.recover(this, re);
3851 }
3852 finally {
3853 exitRule();
3854 }
3855 return _localctx;
3856 }
3857
3858 public static class FunctionNameContext extends ParserRuleContext {
3859 public NameContext name() {
3860 return getRuleContext(NameContext.class,0);
3861 }
3862 public OwnerContext owner() {
3863 return getRuleContext(OwnerContext.class,0);
3864 }
3865 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3866 public FunctionNameContext(ParserRuleContext parent, int invokingState) {
3867 super(parent, invokingState);
3868 }
3869 @Override public int getRuleIndex() { return RULE_functionName; }
3870 @Override
3871 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3872 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionName(this);
3873 else return visitor.visitChildren(this);
3874 }
3875 }
3876
3877 public final FunctionNameContext functionName() throws RecognitionException {
3878 FunctionNameContext _localctx = new FunctionNameContext(_ctx, getState());
3879 enterRule(_localctx, 54, RULE_functionName);
3880 try {
3881 enterOuterAlt(_localctx, 1);
3882 {
3883 setState(1185);
3884 _errHandler.sync(this);
3885 switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
3886 case 1:
3887 {
3888 setState(1182);
3889 owner();
3890 setState(1183);
3891 match(DOT_);
3892 }
3893 break;
3894 }
3895 setState(1187);
3896 name();
3897 }
3898 }
3899 catch (RecognitionException re) {
3900 _localctx.exception = re;
3901 _errHandler.reportError(this, re);
3902 _errHandler.recover(this, re);
3903 }
3904 finally {
3905 exitRule();
3906 }
3907 return _localctx;
3908 }
3909
3910 public static class ProcedureNameContext extends ParserRuleContext {
3911 public NameContext name() {
3912 return getRuleContext(NameContext.class,0);
3913 }
3914 public OwnerContext owner() {
3915 return getRuleContext(OwnerContext.class,0);
3916 }
3917 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3918 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
3919 public NumberLiteralsContext numberLiterals() {
3920 return getRuleContext(NumberLiteralsContext.class,0);
3921 }
3922 public ProcedureNameContext(ParserRuleContext parent, int invokingState) {
3923 super(parent, invokingState);
3924 }
3925 @Override public int getRuleIndex() { return RULE_procedureName; }
3926 @Override
3927 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3928 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcedureName(this);
3929 else return visitor.visitChildren(this);
3930 }
3931 }
3932
3933 public final ProcedureNameContext procedureName() throws RecognitionException {
3934 ProcedureNameContext _localctx = new ProcedureNameContext(_ctx, getState());
3935 enterRule(_localctx, 56, RULE_procedureName);
3936 try {
3937 enterOuterAlt(_localctx, 1);
3938 {
3939 setState(1192);
3940 _errHandler.sync(this);
3941 switch ( getInterpreter().adaptivePredict(_input,21,_ctx) ) {
3942 case 1:
3943 {
3944 setState(1189);
3945 owner();
3946 setState(1190);
3947 match(DOT_);
3948 }
3949 break;
3950 }
3951 setState(1194);
3952 name();
3953 setState(1197);
3954 _errHandler.sync(this);
3955 switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) {
3956 case 1:
3957 {
3958 setState(1195);
3959 match(SEMI_);
3960 setState(1196);
3961 numberLiterals();
3962 }
3963 break;
3964 }
3965 }
3966 }
3967 catch (RecognitionException re) {
3968 _localctx.exception = re;
3969 _errHandler.reportError(this, re);
3970 _errHandler.recover(this, re);
3971 }
3972 finally {
3973 exitRule();
3974 }
3975 return _localctx;
3976 }
3977
3978 public static class ViewNameContext extends ParserRuleContext {
3979 public NameContext name() {
3980 return getRuleContext(NameContext.class,0);
3981 }
3982 public OwnerContext owner() {
3983 return getRuleContext(OwnerContext.class,0);
3984 }
3985 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3986 public ViewNameContext(ParserRuleContext parent, int invokingState) {
3987 super(parent, invokingState);
3988 }
3989 @Override public int getRuleIndex() { return RULE_viewName; }
3990 @Override
3991 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3992 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewName(this);
3993 else return visitor.visitChildren(this);
3994 }
3995 }
3996
3997 public final ViewNameContext viewName() throws RecognitionException {
3998 ViewNameContext _localctx = new ViewNameContext(_ctx, getState());
3999 enterRule(_localctx, 58, RULE_viewName);
4000 try {
4001 enterOuterAlt(_localctx, 1);
4002 {
4003 setState(1202);
4004 _errHandler.sync(this);
4005 switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
4006 case 1:
4007 {
4008 setState(1199);
4009 owner();
4010 setState(1200);
4011 match(DOT_);
4012 }
4013 break;
4014 }
4015 setState(1204);
4016 name();
4017 }
4018 }
4019 catch (RecognitionException re) {
4020 _localctx.exception = re;
4021 _errHandler.reportError(this, re);
4022 _errHandler.recover(this, re);
4023 }
4024 finally {
4025 exitRule();
4026 }
4027 return _localctx;
4028 }
4029
4030 public static class TriggerNameContext extends ParserRuleContext {
4031 public NameContext name() {
4032 return getRuleContext(NameContext.class,0);
4033 }
4034 public SchemaNameContext schemaName() {
4035 return getRuleContext(SchemaNameContext.class,0);
4036 }
4037 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4038 public TriggerNameContext(ParserRuleContext parent, int invokingState) {
4039 super(parent, invokingState);
4040 }
4041 @Override public int getRuleIndex() { return RULE_triggerName; }
4042 @Override
4043 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4044 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerName(this);
4045 else return visitor.visitChildren(this);
4046 }
4047 }
4048
4049 public final TriggerNameContext triggerName() throws RecognitionException {
4050 TriggerNameContext _localctx = new TriggerNameContext(_ctx, getState());
4051 enterRule(_localctx, 60, RULE_triggerName);
4052 try {
4053 enterOuterAlt(_localctx, 1);
4054 {
4055 setState(1209);
4056 _errHandler.sync(this);
4057 switch ( getInterpreter().adaptivePredict(_input,24,_ctx) ) {
4058 case 1:
4059 {
4060 setState(1206);
4061 schemaName();
4062 setState(1207);
4063 match(DOT_);
4064 }
4065 break;
4066 }
4067 setState(1211);
4068 name();
4069 }
4070 }
4071 catch (RecognitionException re) {
4072 _localctx.exception = re;
4073 _errHandler.reportError(this, re);
4074 _errHandler.recover(this, re);
4075 }
4076 finally {
4077 exitRule();
4078 }
4079 return _localctx;
4080 }
4081
4082 public static class SequenceNameContext extends ParserRuleContext {
4083 public NameContext name() {
4084 return getRuleContext(NameContext.class,0);
4085 }
4086 public SchemaNameContext schemaName() {
4087 return getRuleContext(SchemaNameContext.class,0);
4088 }
4089 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4090 public SequenceNameContext(ParserRuleContext parent, int invokingState) {
4091 super(parent, invokingState);
4092 }
4093 @Override public int getRuleIndex() { return RULE_sequenceName; }
4094 @Override
4095 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4096 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSequenceName(this);
4097 else return visitor.visitChildren(this);
4098 }
4099 }
4100
4101 public final SequenceNameContext sequenceName() throws RecognitionException {
4102 SequenceNameContext _localctx = new SequenceNameContext(_ctx, getState());
4103 enterRule(_localctx, 62, RULE_sequenceName);
4104 try {
4105 enterOuterAlt(_localctx, 1);
4106 {
4107 setState(1216);
4108 _errHandler.sync(this);
4109 switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) {
4110 case 1:
4111 {
4112 setState(1213);
4113 schemaName();
4114 setState(1214);
4115 match(DOT_);
4116 }
4117 break;
4118 }
4119 setState(1218);
4120 name();
4121 }
4122 }
4123 catch (RecognitionException re) {
4124 _localctx.exception = re;
4125 _errHandler.reportError(this, re);
4126 _errHandler.recover(this, re);
4127 }
4128 finally {
4129 exitRule();
4130 }
4131 return _localctx;
4132 }
4133
4134 public static class TableNameContext extends ParserRuleContext {
4135 public NameContext name() {
4136 return getRuleContext(NameContext.class,0);
4137 }
4138 public DatabaseNameContext databaseName() {
4139 return getRuleContext(DatabaseNameContext.class,0);
4140 }
4141 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
4142 public TerminalNode DOT_(int i) {
4143 return getToken(SQLServerStatementParser.DOT_, i);
4144 }
4145 public OwnerContext owner() {
4146 return getRuleContext(OwnerContext.class,0);
4147 }
4148 public TableNameContext(ParserRuleContext parent, int invokingState) {
4149 super(parent, invokingState);
4150 }
4151 @Override public int getRuleIndex() { return RULE_tableName; }
4152 @Override
4153 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4154 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableName(this);
4155 else return visitor.visitChildren(this);
4156 }
4157 }
4158
4159 public final TableNameContext tableName() throws RecognitionException {
4160 TableNameContext _localctx = new TableNameContext(_ctx, getState());
4161 enterRule(_localctx, 64, RULE_tableName);
4162 try {
4163 enterOuterAlt(_localctx, 1);
4164 {
4165 setState(1232);
4166 _errHandler.sync(this);
4167 switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) {
4168 case 1:
4169 {
4170 setState(1220);
4171 databaseName();
4172 setState(1221);
4173 match(DOT_);
4174 setState(1225);
4175 _errHandler.sync(this);
4176 switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
4177 case 1:
4178 {
4179 setState(1222);
4180 owner();
4181 setState(1223);
4182 match(DOT_);
4183 }
4184 break;
4185 }
4186 }
4187 break;
4188 case 2:
4189 {
4190 setState(1230);
4191 _errHandler.sync(this);
4192 switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
4193 case 1:
4194 {
4195 setState(1227);
4196 owner();
4197 setState(1228);
4198 match(DOT_);
4199 }
4200 break;
4201 }
4202 }
4203 break;
4204 }
4205 setState(1234);
4206 name();
4207 }
4208 }
4209 catch (RecognitionException re) {
4210 _localctx.exception = re;
4211 _errHandler.reportError(this, re);
4212 _errHandler.recover(this, re);
4213 }
4214 finally {
4215 exitRule();
4216 }
4217 return _localctx;
4218 }
4219
4220 public static class QueueNameContext extends ParserRuleContext {
4221 public NameContext name() {
4222 return getRuleContext(NameContext.class,0);
4223 }
4224 public SchemaNameContext schemaName() {
4225 return getRuleContext(SchemaNameContext.class,0);
4226 }
4227 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4228 public QueueNameContext(ParserRuleContext parent, int invokingState) {
4229 super(parent, invokingState);
4230 }
4231 @Override public int getRuleIndex() { return RULE_queueName; }
4232 @Override
4233 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4234 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueueName(this);
4235 else return visitor.visitChildren(this);
4236 }
4237 }
4238
4239 public final QueueNameContext queueName() throws RecognitionException {
4240 QueueNameContext _localctx = new QueueNameContext(_ctx, getState());
4241 enterRule(_localctx, 66, RULE_queueName);
4242 try {
4243 enterOuterAlt(_localctx, 1);
4244 {
4245 setState(1239);
4246 _errHandler.sync(this);
4247 switch ( getInterpreter().adaptivePredict(_input,29,_ctx) ) {
4248 case 1:
4249 {
4250 setState(1236);
4251 schemaName();
4252 setState(1237);
4253 match(DOT_);
4254 }
4255 break;
4256 }
4257 setState(1241);
4258 name();
4259 }
4260 }
4261 catch (RecognitionException re) {
4262 _localctx.exception = re;
4263 _errHandler.reportError(this, re);
4264 _errHandler.recover(this, re);
4265 }
4266 finally {
4267 exitRule();
4268 }
4269 return _localctx;
4270 }
4271
4272 public static class ContractNameContext extends ParserRuleContext {
4273 public NameContext name() {
4274 return getRuleContext(NameContext.class,0);
4275 }
4276 public ContractNameContext(ParserRuleContext parent, int invokingState) {
4277 super(parent, invokingState);
4278 }
4279 @Override public int getRuleIndex() { return RULE_contractName; }
4280 @Override
4281 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4282 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitContractName(this);
4283 else return visitor.visitChildren(this);
4284 }
4285 }
4286
4287 public final ContractNameContext contractName() throws RecognitionException {
4288 ContractNameContext _localctx = new ContractNameContext(_ctx, getState());
4289 enterRule(_localctx, 68, RULE_contractName);
4290 try {
4291 enterOuterAlt(_localctx, 1);
4292 {
4293 setState(1243);
4294 name();
4295 }
4296 }
4297 catch (RecognitionException re) {
4298 _localctx.exception = re;
4299 _errHandler.reportError(this, re);
4300 _errHandler.recover(this, re);
4301 }
4302 finally {
4303 exitRule();
4304 }
4305 return _localctx;
4306 }
4307
4308 public static class ServiceNameContext extends ParserRuleContext {
4309 public NameContext name() {
4310 return getRuleContext(NameContext.class,0);
4311 }
4312 public ServiceNameContext(ParserRuleContext parent, int invokingState) {
4313 super(parent, invokingState);
4314 }
4315 @Override public int getRuleIndex() { return RULE_serviceName; }
4316 @Override
4317 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4318 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceName(this);
4319 else return visitor.visitChildren(this);
4320 }
4321 }
4322
4323 public final ServiceNameContext serviceName() throws RecognitionException {
4324 ServiceNameContext _localctx = new ServiceNameContext(_ctx, getState());
4325 enterRule(_localctx, 70, RULE_serviceName);
4326 try {
4327 enterOuterAlt(_localctx, 1);
4328 {
4329 setState(1245);
4330 name();
4331 }
4332 }
4333 catch (RecognitionException re) {
4334 _localctx.exception = re;
4335 _errHandler.reportError(this, re);
4336 _errHandler.recover(this, re);
4337 }
4338 finally {
4339 exitRule();
4340 }
4341 return _localctx;
4342 }
4343
4344 public static class ColumnNameContext extends ParserRuleContext {
4345 public NameContext name() {
4346 return getRuleContext(NameContext.class,0);
4347 }
4348 public ScriptVariableNameContext scriptVariableName() {
4349 return getRuleContext(ScriptVariableNameContext.class,0);
4350 }
4351 public OwnerContext owner() {
4352 return getRuleContext(OwnerContext.class,0);
4353 }
4354 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4355 public ColumnNameContext(ParserRuleContext parent, int invokingState) {
4356 super(parent, invokingState);
4357 }
4358 @Override public int getRuleIndex() { return RULE_columnName; }
4359 @Override
4360 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4361 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnName(this);
4362 else return visitor.visitChildren(this);
4363 }
4364 }
4365
4366 public final ColumnNameContext columnName() throws RecognitionException {
4367 ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState());
4368 enterRule(_localctx, 72, RULE_columnName);
4369 try {
4370 enterOuterAlt(_localctx, 1);
4371 {
4372 setState(1250);
4373 _errHandler.sync(this);
4374 switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
4375 case 1:
4376 {
4377 setState(1247);
4378 owner();
4379 setState(1248);
4380 match(DOT_);
4381 }
4382 break;
4383 }
4384 setState(1254);
4385 _errHandler.sync(this);
4386 switch (_input.LA(1)) {
4387 case TRUNCATE:
4388 case SCHEMA:
4389 case COLUMNS:
4390 case PRECISION:
4391 case FUNCTION:
4392 case TRIGGER:
4393 case CAST:
4394 case SUBSTRING:
4395 case OFF:
4396 case GROUP:
4397 case LIMIT:
4398 case OFFSET:
4399 case SAVEPOINT:
4400 case BOOLEAN:
4401 case ARRAY:
4402 case DATE:
4403 case LOCALTIME:
4404 case LOCALTIMESTAMP:
4405 case QUARTER:
4406 case MONTH:
4407 case WEEK:
4408 case DAY:
4409 case SECOND:
4410 case MICROSECOND:
4411 case MAX:
4412 case MIN:
4413 case SUM:
4414 case COUNT:
4415 case AVG:
4416 case ENABLE:
4417 case DISABLE:
4418 case INSTANCE:
4419 case DO:
4420 case DEFINER:
4421 case SQL:
4422 case CASCADED:
4423 case LOCAL:
4424 case NEXT:
4425 case NAME:
4426 case INTEGER:
4427 case TYPE:
4428 case TEXT:
4429 case VIEWS:
4430 case READ_ONLY:
4431 case DATABASE:
4432 case RETURNS:
4433 case DATEPART:
4434 case PASSWORD:
4435 case BINARY:
4436 case HIDDEN_:
4437 case MOD:
4438 case PARTITION:
4439 case PARTITIONS:
4440 case TOP:
4441 case ROW:
4442 case ROWS:
4443 case XOR:
4444 case ALWAYS:
4445 case ROLE:
4446 case START:
4447 case ALGORITHM:
4448 case AUTO:
4449 case BLOCKERS:
4450 case CLUSTERED:
4451 case NONCLUSTERED:
4452 case COLUMNSTORE:
4453 case CONTENT:
4454 case YEARS:
4455 case MONTHS:
4456 case WEEKS:
4457 case DAYS:
4458 case MINUTES:
4459 case DENY:
4460 case DETERMINISTIC:
4461 case DISTRIBUTION:
4462 case DOCUMENT:
4463 case DURABILITY:
4464 case ENCRYPTED:
4465 case FILESTREAM:
4466 case FILETABLE:
4467 case FILLFACTOR:
4468 case FOLLOWING:
4469 case HASH:
4470 case HEAP:
4471 case INBOUND:
4472 case OUTBOUND:
4473 case UNBOUNDED:
4474 case INFINITE:
4475 case LOGIN:
4476 case MASKED:
4477 case MAXDOP:
4478 case MOVE:
4479 case NOCHECK:
4480 case OBJECT:
4481 case ONLINE:
4482 case OVER:
4483 case PAGE:
4484 case PAUSED:
4485 case PERIOD:
4486 case PERSISTED:
4487 case PRECEDING:
4488 case RANDOMIZED:
4489 case RANGE:
4490 case REBUILD:
4491 case REPLICATE:
4492 case REPLICATION:
4493 case RESUMABLE:
4494 case ROWGUIDCOL:
4495 case SAVE:
4496 case SELF:
4497 case SPARSE:
4498 case SWITCH:
4499 case TRAN:
4500 case TRANCOUNT:
4501 case CONTROL:
4502 case CONCAT:
4503 case TAKE:
4504 case OWNERSHIP:
4505 case DEFINITION:
4506 case APPLICATION:
4507 case ASSEMBLY:
4508 case SYMMETRIC:
4509 case ASYMMETRIC:
4510 case SERVER:
4511 case RECEIVE:
4512 case CHANGE:
4513 case TRACE:
4514 case TRACKING:
4515 case RESOURCES:
4516 case SETTINGS:
4517 case STATE:
4518 case AVAILABILITY:
4519 case CREDENTIAL:
4520 case ENDPOINT:
4521 case EVENT:
4522 case NOTIFICATION:
4523 case LINKED:
4524 case AUDIT:
4525 case DDL:
4526 case XML:
4527 case IMPERSONATE:
4528 case SECURABLES:
4529 case AUTHENTICATE:
4530 case EXTERNAL:
4531 case ACCESS:
4532 case ADMINISTER:
4533 case BULK:
4534 case OPERATIONS:
4535 case UNSAFE:
4536 case SHUTDOWN:
4537 case SCOPED:
4538 case CONFIGURATION:
4539 case DATASPACE:
4540 case SERVICE:
4541 case CERTIFICATE:
4542 case CONTRACT:
4543 case ENCRYPTION:
4544 case MASTER:
4545 case DATA:
4546 case SOURCE:
4547 case FILE:
4548 case FORMAT:
4549 case LIBRARY:
4550 case FULLTEXT:
4551 case MASK:
4552 case UNMASK:
4553 case MESSAGE:
4554 case REMOTE:
4555 case BINDING:
4556 case ROUTE:
4557 case SECURITY:
4558 case POLICY:
4559 case AGGREGATE:
4560 case QUEUE:
4561 case RULE:
4562 case SYNONYM:
4563 case COLLECTION:
4564 case SCRIPT:
4565 case KILL:
4566 case BACKUP:
4567 case LOG:
4568 case SHOWPLAN:
4569 case SUBSCRIBE:
4570 case QUERY:
4571 case NOTIFICATIONS:
4572 case CHECKPOINT:
4573 case SEQUENCE:
4574 case ABORT_AFTER_WAIT:
4575 case ALLOW_PAGE_LOCKS:
4576 case ALLOW_ROW_LOCKS:
4577 case ALL_SPARSE_COLUMNS:
4578 case BUCKET_COUNT:
4579 case COLUMNSTORE_ARCHIVE:
4580 case COLUMN_ENCRYPTION_KEY:
4581 case COLUMN_SET:
4582 case COMPRESSION_DELAY:
4583 case DATABASE_DEAULT:
4584 case DATA_COMPRESSION:
4585 case DATA_CONSISTENCY_CHECK:
4586 case ENCRYPTION_TYPE:
4587 case SYSTEM_TIME:
4588 case SYSTEM_VERSIONING:
4589 case TEXTIMAGE_ON:
4590 case WAIT_AT_LOW_PRIORITY:
4591 case STATISTICS_INCREMENTAL:
4592 case STATISTICS_NORECOMPUTE:
4593 case ROUND_ROBIN:
4594 case SCHEMA_AND_DATA:
4595 case SCHEMA_ONLY:
4596 case SORT_IN_TEMPDB:
4597 case IGNORE_DUP_KEY:
4598 case IMPLICIT_TRANSACTIONS:
4599 case MAX_DURATION:
4600 case MEMORY_OPTIMIZED:
4601 case MIGRATION_STATE:
4602 case PAD_INDEX:
4603 case REMOTE_DATA_ARCHIVE:
4604 case FILESTREAM_ON:
4605 case FILETABLE_COLLATE_FILENAME:
4606 case FILETABLE_DIRECTORY:
4607 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
4608 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
4609 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
4610 case FILTER_PREDICATE:
4611 case HISTORY_RETENTION_PERIOD:
4612 case HISTORY_TABLE:
4613 case LOCK_ESCALATION:
4614 case DROP_EXISTING:
4615 case ROW_NUMBER:
4616 case FIRST:
4617 case DATETIME2:
4618 case OUTPUT:
4619 case INSERTED:
4620 case DELETED:
4621 case FILENAME:
4622 case SIZE:
4623 case MAXSIZE:
4624 case FILEGROWTH:
4625 case UNLIMITED:
4626 case KB:
4627 case MB:
4628 case GB:
4629 case TB:
4630 case CONTAINS:
4631 case MEMORY_OPTIMIZED_DATA:
4632 case FILEGROUP:
4633 case NON_TRANSACTED_ACCESS:
4634 case DB_CHAINING:
4635 case TRUSTWORTHY:
4636 case FORWARD_ONLY:
4637 case KEYSET:
4638 case FAST_FORWARD:
4639 case SCROLL_LOCKS:
4640 case OPTIMISTIC:
4641 case TYPE_WARNING:
4642 case SCHEMABINDING:
4643 case CALLER:
4644 case OWNER:
4645 case SNAPSHOT:
4646 case REPEATABLE:
4647 case SERIALIZABLE:
4648 case NATIVE_COMPILATION:
4649 case VIEW_METADATA:
4650 case INSTEAD:
4651 case APPEND:
4652 case INCREMENT:
4653 case CACHE:
4654 case MINVALUE:
4655 case MAXVALUE:
4656 case RESTART:
4657 case LOB_COMPACTION:
4658 case COMPRESS_ALL_ROW_GROUPS:
4659 case REORGANIZE:
4660 case RESUME:
4661 case PAUSE:
4662 case ABORT:
4663 case ACCELERATED_DATABASE_RECOVERY:
4664 case PERSISTENT_VERSION_STORE_FILEGROUP:
4665 case IMMEDIATE:
4666 case NO_WAIT:
4667 case TARGET_RECOVERY_TIME:
4668 case SECONDS:
4669 case HONOR_BROKER_PRIORITY:
4670 case ERROR_BROKER_CONVERSATIONS:
4671 case NEW_BROKER:
4672 case DISABLE_BROKER:
4673 case ENABLE_BROKER:
4674 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
4675 case READ_COMMITTED_SNAPSHOT:
4676 case ALLOW_SNAPSHOT_ISOLATION:
4677 case RECURSIVE_TRIGGERS:
4678 case QUOTED_IDENTIFIER:
4679 case NUMERIC_ROUNDABORT:
4680 case CONCAT_NULL_YIELDS_NULL:
4681 case COMPATIBILITY_LEVEL:
4682 case ARITHABORT:
4683 case ANSI_WARNINGS:
4684 case ANSI_PADDING:
4685 case ANSI_NULLS:
4686 case ANSI_NULL_DEFAULT:
4687 case PAGE_VERIFY:
4688 case CHECKSUM:
4689 case TORN_PAGE_DETECTION:
4690 case BULK_LOGGED:
4691 case RECOVERY:
4692 case TOTAL_EXECUTION_CPU_TIME_MS:
4693 case TOTAL_COMPILE_CPU_TIME_MS:
4694 case STALE_CAPTURE_POLICY_THRESHOLD:
4695 case EXECUTION_COUNT:
4696 case QUERY_CAPTURE_POLICY:
4697 case WAIT_STATS_CAPTURE_MODE:
4698 case MAX_PLANS_PER_QUERY:
4699 case QUERY_CAPTURE_MODE:
4700 case SIZE_BASED_CLEANUP_MODE:
4701 case INTERVAL_LENGTH_MINUTES:
4702 case MAX_STORAGE_SIZE_MB:
4703 case DATA_FLUSH_INTERVAL_SECONDS:
4704 case CLEANUP_POLICY:
4705 case CUSTOM:
4706 case STALE_QUERY_THRESHOLD_DAYS:
4707 case OPERATION_MODE:
4708 case QUERY_STORE:
4709 case CURSOR_DEFAULT:
4710 case GLOBAL:
4711 case CURSOR_CLOSE_ON_COMMIT:
4712 case HOURS:
4713 case CHANGE_RETENTION:
4714 case AUTO_CLEANUP:
4715 case CHANGE_TRACKING:
4716 case AUTOMATIC_TUNING:
4717 case FORCE_LAST_GOOD_PLAN:
4718 case AUTO_UPDATE_STATISTICS_ASYNC:
4719 case AUTO_UPDATE_STATISTICS:
4720 case AUTO_SHRINK:
4721 case AUTO_CREATE_STATISTICS:
4722 case INCREMENTAL:
4723 case AUTO_CLOSE:
4724 case DATA_RETENTION:
4725 case TEMPORAL_HISTORY_RETENTION:
4726 case EDITION:
4727 case MIXED_PAGE_ALLOCATION:
4728 case DISABLED:
4729 case ALLOWED:
4730 case HADR:
4731 case MULTI_USER:
4732 case RESTRICTED_USER:
4733 case SINGLE_USER:
4734 case OFFLINE:
4735 case EMERGENCY:
4736 case SUSPEND:
4737 case DATE_CORRELATION_OPTIMIZATION:
4738 case ELASTIC_POOL:
4739 case SERVICE_OBJECTIVE:
4740 case DATABASE_NAME:
4741 case ALLOW_CONNECTIONS:
4742 case GEO:
4743 case NAMED:
4744 case DATEFIRST:
4745 case BACKUP_STORAGE_REDUNDANCY:
4746 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
4747 case SECONDARY:
4748 case FAILOVER:
4749 case DEFAULT_FULLTEXT_LANGUAGE:
4750 case DEFAULT_LANGUAGE:
4751 case INLINE:
4752 case NESTED_TRIGGERS:
4753 case TRANSFORM_NOISE_WORDS:
4754 case TWO_DIGIT_YEAR_CUTOFF:
4755 case PERSISTENT_LOG_BUFFER:
4756 case DIRECTORY_NAME:
4757 case DATEFORMAT:
4758 case DELAYED_DURABILITY:
4759 case AUTHORIZATION:
4760 case TRANSFER:
4761 case PROVIDER:
4762 case SEARCH:
4763 case MEMBER:
4764 case IDENTIFIER_:
4765 case DELIMITED_IDENTIFIER_:
4766 {
4767 setState(1252);
4768 name();
4769 }
4770 break;
4771 case DOLLAR_:
4772 {
4773 setState(1253);
4774 scriptVariableName();
4775 }
4776 break;
4777 default:
4778 throw new NoViableAltException(this);
4779 }
4780 }
4781 }
4782 catch (RecognitionException re) {
4783 _localctx.exception = re;
4784 _errHandler.reportError(this, re);
4785 _errHandler.recover(this, re);
4786 }
4787 finally {
4788 exitRule();
4789 }
4790 return _localctx;
4791 }
4792
4793 public static class ScriptVariableNameContext extends ParserRuleContext {
4794 public TerminalNode DOLLAR_() { return getToken(SQLServerStatementParser.DOLLAR_, 0); }
4795 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4796 public NameContext name() {
4797 return getRuleContext(NameContext.class,0);
4798 }
4799 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4800 public ScriptVariableNameContext(ParserRuleContext parent, int invokingState) {
4801 super(parent, invokingState);
4802 }
4803 @Override public int getRuleIndex() { return RULE_scriptVariableName; }
4804 @Override
4805 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4806 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitScriptVariableName(this);
4807 else return visitor.visitChildren(this);
4808 }
4809 }
4810
4811 public final ScriptVariableNameContext scriptVariableName() throws RecognitionException {
4812 ScriptVariableNameContext _localctx = new ScriptVariableNameContext(_ctx, getState());
4813 enterRule(_localctx, 74, RULE_scriptVariableName);
4814 try {
4815 enterOuterAlt(_localctx, 1);
4816 {
4817 setState(1256);
4818 match(DOLLAR_);
4819 setState(1257);
4820 match(LP_);
4821 setState(1258);
4822 name();
4823 setState(1259);
4824 match(RP_);
4825 }
4826 }
4827 catch (RecognitionException re) {
4828 _localctx.exception = re;
4829 _errHandler.reportError(this, re);
4830 _errHandler.recover(this, re);
4831 }
4832 finally {
4833 exitRule();
4834 }
4835 return _localctx;
4836 }
4837
4838 public static class OwnerContext extends ParserRuleContext {
4839 public IdentifierContext identifier() {
4840 return getRuleContext(IdentifierContext.class,0);
4841 }
4842 public OwnerContext(ParserRuleContext parent, int invokingState) {
4843 super(parent, invokingState);
4844 }
4845 @Override public int getRuleIndex() { return RULE_owner; }
4846 @Override
4847 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4848 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOwner(this);
4849 else return visitor.visitChildren(this);
4850 }
4851 }
4852
4853 public final OwnerContext owner() throws RecognitionException {
4854 OwnerContext _localctx = new OwnerContext(_ctx, getState());
4855 enterRule(_localctx, 76, RULE_owner);
4856 try {
4857 enterOuterAlt(_localctx, 1);
4858 {
4859 setState(1261);
4860 identifier();
4861 }
4862 }
4863 catch (RecognitionException re) {
4864 _localctx.exception = re;
4865 _errHandler.reportError(this, re);
4866 _errHandler.recover(this, re);
4867 }
4868 finally {
4869 exitRule();
4870 }
4871 return _localctx;
4872 }
4873
4874 public static class NameContext extends ParserRuleContext {
4875 public IdentifierContext identifier() {
4876 return getRuleContext(IdentifierContext.class,0);
4877 }
4878 public NameContext(ParserRuleContext parent, int invokingState) {
4879 super(parent, invokingState);
4880 }
4881 @Override public int getRuleIndex() { return RULE_name; }
4882 @Override
4883 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4884 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitName(this);
4885 else return visitor.visitChildren(this);
4886 }
4887 }
4888
4889 public final NameContext name() throws RecognitionException {
4890 NameContext _localctx = new NameContext(_ctx, getState());
4891 enterRule(_localctx, 78, RULE_name);
4892 try {
4893 enterOuterAlt(_localctx, 1);
4894 {
4895 setState(1263);
4896 identifier();
4897 }
4898 }
4899 catch (RecognitionException re) {
4900 _localctx.exception = re;
4901 _errHandler.reportError(this, re);
4902 _errHandler.recover(this, re);
4903 }
4904 finally {
4905 exitRule();
4906 }
4907 return _localctx;
4908 }
4909
4910 public static class ColumnNamesContext extends ParserRuleContext {
4911 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4912 public List<ColumnNameContext> columnName() {
4913 return getRuleContexts(ColumnNameContext.class);
4914 }
4915 public ColumnNameContext columnName(int i) {
4916 return getRuleContext(ColumnNameContext.class,i);
4917 }
4918 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4919 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4920 public TerminalNode COMMA_(int i) {
4921 return getToken(SQLServerStatementParser.COMMA_, i);
4922 }
4923 public ColumnNamesContext(ParserRuleContext parent, int invokingState) {
4924 super(parent, invokingState);
4925 }
4926 @Override public int getRuleIndex() { return RULE_columnNames; }
4927 @Override
4928 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4929 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNames(this);
4930 else return visitor.visitChildren(this);
4931 }
4932 }
4933
4934 public final ColumnNamesContext columnNames() throws RecognitionException {
4935 ColumnNamesContext _localctx = new ColumnNamesContext(_ctx, getState());
4936 enterRule(_localctx, 80, RULE_columnNames);
4937 int _la;
4938 try {
4939 enterOuterAlt(_localctx, 1);
4940 {
4941 setState(1265);
4942 match(LP_);
4943 setState(1266);
4944 columnName();
4945 setState(1271);
4946 _errHandler.sync(this);
4947 _la = _input.LA(1);
4948 while (_la==COMMA_) {
4949 {
4950 {
4951 setState(1267);
4952 match(COMMA_);
4953 setState(1268);
4954 columnName();
4955 }
4956 }
4957 setState(1273);
4958 _errHandler.sync(this);
4959 _la = _input.LA(1);
4960 }
4961 setState(1274);
4962 match(RP_);
4963 }
4964 }
4965 catch (RecognitionException re) {
4966 _localctx.exception = re;
4967 _errHandler.reportError(this, re);
4968 _errHandler.recover(this, re);
4969 }
4970 finally {
4971 exitRule();
4972 }
4973 return _localctx;
4974 }
4975
4976 public static class ColumnNamesWithSortContext extends ParserRuleContext {
4977 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4978 public List<ColumnNameWithSortContext> columnNameWithSort() {
4979 return getRuleContexts(ColumnNameWithSortContext.class);
4980 }
4981 public ColumnNameWithSortContext columnNameWithSort(int i) {
4982 return getRuleContext(ColumnNameWithSortContext.class,i);
4983 }
4984 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4985 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4986 public TerminalNode COMMA_(int i) {
4987 return getToken(SQLServerStatementParser.COMMA_, i);
4988 }
4989 public ColumnNamesWithSortContext(ParserRuleContext parent, int invokingState) {
4990 super(parent, invokingState);
4991 }
4992 @Override public int getRuleIndex() { return RULE_columnNamesWithSort; }
4993 @Override
4994 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4995 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNamesWithSort(this);
4996 else return visitor.visitChildren(this);
4997 }
4998 }
4999
5000 public final ColumnNamesWithSortContext columnNamesWithSort() throws RecognitionException {
5001 ColumnNamesWithSortContext _localctx = new ColumnNamesWithSortContext(_ctx, getState());
5002 enterRule(_localctx, 82, RULE_columnNamesWithSort);
5003 int _la;
5004 try {
5005 enterOuterAlt(_localctx, 1);
5006 {
5007 setState(1276);
5008 match(LP_);
5009 setState(1277);
5010 columnNameWithSort();
5011 setState(1282);
5012 _errHandler.sync(this);
5013 _la = _input.LA(1);
5014 while (_la==COMMA_) {
5015 {
5016 {
5017 setState(1278);
5018 match(COMMA_);
5019 setState(1279);
5020 columnNameWithSort();
5021 }
5022 }
5023 setState(1284);
5024 _errHandler.sync(this);
5025 _la = _input.LA(1);
5026 }
5027 setState(1285);
5028 match(RP_);
5029 }
5030 }
5031 catch (RecognitionException re) {
5032 _localctx.exception = re;
5033 _errHandler.reportError(this, re);
5034 _errHandler.recover(this, re);
5035 }
5036 finally {
5037 exitRule();
5038 }
5039 return _localctx;
5040 }
5041
5042 public static class TableNamesContext extends ParserRuleContext {
5043 public List<TableNameContext> tableName() {
5044 return getRuleContexts(TableNameContext.class);
5045 }
5046 public TableNameContext tableName(int i) {
5047 return getRuleContext(TableNameContext.class,i);
5048 }
5049 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5050 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
5051 public TerminalNode COMMA_(int i) {
5052 return getToken(SQLServerStatementParser.COMMA_, i);
5053 }
5054 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5055 public TableNamesContext(ParserRuleContext parent, int invokingState) {
5056 super(parent, invokingState);
5057 }
5058 @Override public int getRuleIndex() { return RULE_tableNames; }
5059 @Override
5060 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5061 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableNames(this);
5062 else return visitor.visitChildren(this);
5063 }
5064 }
5065
5066 public final TableNamesContext tableNames() throws RecognitionException {
5067 TableNamesContext _localctx = new TableNamesContext(_ctx, getState());
5068 enterRule(_localctx, 84, RULE_tableNames);
5069 int _la;
5070 try {
5071 enterOuterAlt(_localctx, 1);
5072 {
5073 setState(1288);
5074 _errHandler.sync(this);
5075 _la = _input.LA(1);
5076 if (_la==LP_) {
5077 {
5078 setState(1287);
5079 match(LP_);
5080 }
5081 }
5082
5083 setState(1290);
5084 tableName();
5085 setState(1295);
5086 _errHandler.sync(this);
5087 _la = _input.LA(1);
5088 while (_la==COMMA_) {
5089 {
5090 {
5091 setState(1291);
5092 match(COMMA_);
5093 setState(1292);
5094 tableName();
5095 }
5096 }
5097 setState(1297);
5098 _errHandler.sync(this);
5099 _la = _input.LA(1);
5100 }
5101 setState(1299);
5102 _errHandler.sync(this);
5103 _la = _input.LA(1);
5104 if (_la==RP_) {
5105 {
5106 setState(1298);
5107 match(RP_);
5108 }
5109 }
5110
5111 }
5112 }
5113 catch (RecognitionException re) {
5114 _localctx.exception = re;
5115 _errHandler.reportError(this, re);
5116 _errHandler.recover(this, re);
5117 }
5118 finally {
5119 exitRule();
5120 }
5121 return _localctx;
5122 }
5123
5124 public static class IndexNameContext extends ParserRuleContext {
5125 public IdentifierContext identifier() {
5126 return getRuleContext(IdentifierContext.class,0);
5127 }
5128 public IndexNameContext(ParserRuleContext parent, int invokingState) {
5129 super(parent, invokingState);
5130 }
5131 @Override public int getRuleIndex() { return RULE_indexName; }
5132 @Override
5133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexName(this);
5135 else return visitor.visitChildren(this);
5136 }
5137 }
5138
5139 public final IndexNameContext indexName() throws RecognitionException {
5140 IndexNameContext _localctx = new IndexNameContext(_ctx, getState());
5141 enterRule(_localctx, 86, RULE_indexName);
5142 try {
5143 enterOuterAlt(_localctx, 1);
5144 {
5145 setState(1301);
5146 identifier();
5147 }
5148 }
5149 catch (RecognitionException re) {
5150 _localctx.exception = re;
5151 _errHandler.reportError(this, re);
5152 _errHandler.recover(this, re);
5153 }
5154 finally {
5155 exitRule();
5156 }
5157 return _localctx;
5158 }
5159
5160 public static class ConstraintNameContext extends ParserRuleContext {
5161 public IdentifierContext identifier() {
5162 return getRuleContext(IdentifierContext.class,0);
5163 }
5164 public ConstraintNameContext(ParserRuleContext parent, int invokingState) {
5165 super(parent, invokingState);
5166 }
5167 @Override public int getRuleIndex() { return RULE_constraintName; }
5168 @Override
5169 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5170 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintName(this);
5171 else return visitor.visitChildren(this);
5172 }
5173 }
5174
5175 public final ConstraintNameContext constraintName() throws RecognitionException {
5176 ConstraintNameContext _localctx = new ConstraintNameContext(_ctx, getState());
5177 enterRule(_localctx, 88, RULE_constraintName);
5178 try {
5179 enterOuterAlt(_localctx, 1);
5180 {
5181 setState(1303);
5182 identifier();
5183 }
5184 }
5185 catch (RecognitionException re) {
5186 _localctx.exception = re;
5187 _errHandler.reportError(this, re);
5188 _errHandler.recover(this, re);
5189 }
5190 finally {
5191 exitRule();
5192 }
5193 return _localctx;
5194 }
5195
5196 public static class CollationNameContext extends ParserRuleContext {
5197 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5198 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
5199 public CollationNameContext(ParserRuleContext parent, int invokingState) {
5200 super(parent, invokingState);
5201 }
5202 @Override public int getRuleIndex() { return RULE_collationName; }
5203 @Override
5204 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5205 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCollationName(this);
5206 else return visitor.visitChildren(this);
5207 }
5208 }
5209
5210 public final CollationNameContext collationName() throws RecognitionException {
5211 CollationNameContext _localctx = new CollationNameContext(_ctx, getState());
5212 enterRule(_localctx, 90, RULE_collationName);
5213 int _la;
5214 try {
5215 enterOuterAlt(_localctx, 1);
5216 {
5217 setState(1305);
5218 _la = _input.LA(1);
5219 if ( !(_la==IDENTIFIER_ || _la==STRING_) ) {
5220 _errHandler.recoverInline(this);
5221 }
5222 else {
5223 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5224 _errHandler.reportMatch(this);
5225 consume();
5226 }
5227 }
5228 }
5229 catch (RecognitionException re) {
5230 _localctx.exception = re;
5231 _errHandler.reportError(this, re);
5232 _errHandler.recover(this, re);
5233 }
5234 finally {
5235 exitRule();
5236 }
5237 return _localctx;
5238 }
5239
5240 public static class AliasContext extends ParserRuleContext {
5241 public IdentifierContext identifier() {
5242 return getRuleContext(IdentifierContext.class,0);
5243 }
5244 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5245 public AliasContext(ParserRuleContext parent, int invokingState) {
5246 super(parent, invokingState);
5247 }
5248 @Override public int getRuleIndex() { return RULE_alias; }
5249 @Override
5250 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5251 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlias(this);
5252 else return visitor.visitChildren(this);
5253 }
5254 }
5255
5256 public final AliasContext alias() throws RecognitionException {
5257 AliasContext _localctx = new AliasContext(_ctx, getState());
5258 enterRule(_localctx, 92, RULE_alias);
5259 try {
5260 setState(1309);
5261 _errHandler.sync(this);
5262 switch (_input.LA(1)) {
5263 case TRUNCATE:
5264 case SCHEMA:
5265 case COLUMNS:
5266 case PRECISION:
5267 case FUNCTION:
5268 case TRIGGER:
5269 case CAST:
5270 case SUBSTRING:
5271 case OFF:
5272 case GROUP:
5273 case LIMIT:
5274 case OFFSET:
5275 case SAVEPOINT:
5276 case BOOLEAN:
5277 case ARRAY:
5278 case DATE:
5279 case LOCALTIME:
5280 case LOCALTIMESTAMP:
5281 case QUARTER:
5282 case MONTH:
5283 case WEEK:
5284 case DAY:
5285 case SECOND:
5286 case MICROSECOND:
5287 case MAX:
5288 case MIN:
5289 case SUM:
5290 case COUNT:
5291 case AVG:
5292 case ENABLE:
5293 case DISABLE:
5294 case INSTANCE:
5295 case DO:
5296 case DEFINER:
5297 case SQL:
5298 case CASCADED:
5299 case LOCAL:
5300 case NEXT:
5301 case NAME:
5302 case INTEGER:
5303 case TYPE:
5304 case TEXT:
5305 case VIEWS:
5306 case READ_ONLY:
5307 case DATABASE:
5308 case RETURNS:
5309 case DATEPART:
5310 case PASSWORD:
5311 case BINARY:
5312 case HIDDEN_:
5313 case MOD:
5314 case PARTITION:
5315 case PARTITIONS:
5316 case TOP:
5317 case ROW:
5318 case ROWS:
5319 case XOR:
5320 case ALWAYS:
5321 case ROLE:
5322 case START:
5323 case ALGORITHM:
5324 case AUTO:
5325 case BLOCKERS:
5326 case CLUSTERED:
5327 case NONCLUSTERED:
5328 case COLUMNSTORE:
5329 case CONTENT:
5330 case YEARS:
5331 case MONTHS:
5332 case WEEKS:
5333 case DAYS:
5334 case MINUTES:
5335 case DENY:
5336 case DETERMINISTIC:
5337 case DISTRIBUTION:
5338 case DOCUMENT:
5339 case DURABILITY:
5340 case ENCRYPTED:
5341 case FILESTREAM:
5342 case FILETABLE:
5343 case FILLFACTOR:
5344 case FOLLOWING:
5345 case HASH:
5346 case HEAP:
5347 case INBOUND:
5348 case OUTBOUND:
5349 case UNBOUNDED:
5350 case INFINITE:
5351 case LOGIN:
5352 case MASKED:
5353 case MAXDOP:
5354 case MOVE:
5355 case NOCHECK:
5356 case OBJECT:
5357 case ONLINE:
5358 case OVER:
5359 case PAGE:
5360 case PAUSED:
5361 case PERIOD:
5362 case PERSISTED:
5363 case PRECEDING:
5364 case RANDOMIZED:
5365 case RANGE:
5366 case REBUILD:
5367 case REPLICATE:
5368 case REPLICATION:
5369 case RESUMABLE:
5370 case ROWGUIDCOL:
5371 case SAVE:
5372 case SELF:
5373 case SPARSE:
5374 case SWITCH:
5375 case TRAN:
5376 case TRANCOUNT:
5377 case CONTROL:
5378 case CONCAT:
5379 case TAKE:
5380 case OWNERSHIP:
5381 case DEFINITION:
5382 case APPLICATION:
5383 case ASSEMBLY:
5384 case SYMMETRIC:
5385 case ASYMMETRIC:
5386 case SERVER:
5387 case RECEIVE:
5388 case CHANGE:
5389 case TRACE:
5390 case TRACKING:
5391 case RESOURCES:
5392 case SETTINGS:
5393 case STATE:
5394 case AVAILABILITY:
5395 case CREDENTIAL:
5396 case ENDPOINT:
5397 case EVENT:
5398 case NOTIFICATION:
5399 case LINKED:
5400 case AUDIT:
5401 case DDL:
5402 case XML:
5403 case IMPERSONATE:
5404 case SECURABLES:
5405 case AUTHENTICATE:
5406 case EXTERNAL:
5407 case ACCESS:
5408 case ADMINISTER:
5409 case BULK:
5410 case OPERATIONS:
5411 case UNSAFE:
5412 case SHUTDOWN:
5413 case SCOPED:
5414 case CONFIGURATION:
5415 case DATASPACE:
5416 case SERVICE:
5417 case CERTIFICATE:
5418 case CONTRACT:
5419 case ENCRYPTION:
5420 case MASTER:
5421 case DATA:
5422 case SOURCE:
5423 case FILE:
5424 case FORMAT:
5425 case LIBRARY:
5426 case FULLTEXT:
5427 case MASK:
5428 case UNMASK:
5429 case MESSAGE:
5430 case REMOTE:
5431 case BINDING:
5432 case ROUTE:
5433 case SECURITY:
5434 case POLICY:
5435 case AGGREGATE:
5436 case QUEUE:
5437 case RULE:
5438 case SYNONYM:
5439 case COLLECTION:
5440 case SCRIPT:
5441 case KILL:
5442 case BACKUP:
5443 case LOG:
5444 case SHOWPLAN:
5445 case SUBSCRIBE:
5446 case QUERY:
5447 case NOTIFICATIONS:
5448 case CHECKPOINT:
5449 case SEQUENCE:
5450 case ABORT_AFTER_WAIT:
5451 case ALLOW_PAGE_LOCKS:
5452 case ALLOW_ROW_LOCKS:
5453 case ALL_SPARSE_COLUMNS:
5454 case BUCKET_COUNT:
5455 case COLUMNSTORE_ARCHIVE:
5456 case COLUMN_ENCRYPTION_KEY:
5457 case COLUMN_SET:
5458 case COMPRESSION_DELAY:
5459 case DATABASE_DEAULT:
5460 case DATA_COMPRESSION:
5461 case DATA_CONSISTENCY_CHECK:
5462 case ENCRYPTION_TYPE:
5463 case SYSTEM_TIME:
5464 case SYSTEM_VERSIONING:
5465 case TEXTIMAGE_ON:
5466 case WAIT_AT_LOW_PRIORITY:
5467 case STATISTICS_INCREMENTAL:
5468 case STATISTICS_NORECOMPUTE:
5469 case ROUND_ROBIN:
5470 case SCHEMA_AND_DATA:
5471 case SCHEMA_ONLY:
5472 case SORT_IN_TEMPDB:
5473 case IGNORE_DUP_KEY:
5474 case IMPLICIT_TRANSACTIONS:
5475 case MAX_DURATION:
5476 case MEMORY_OPTIMIZED:
5477 case MIGRATION_STATE:
5478 case PAD_INDEX:
5479 case REMOTE_DATA_ARCHIVE:
5480 case FILESTREAM_ON:
5481 case FILETABLE_COLLATE_FILENAME:
5482 case FILETABLE_DIRECTORY:
5483 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
5484 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
5485 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
5486 case FILTER_PREDICATE:
5487 case HISTORY_RETENTION_PERIOD:
5488 case HISTORY_TABLE:
5489 case LOCK_ESCALATION:
5490 case DROP_EXISTING:
5491 case ROW_NUMBER:
5492 case FIRST:
5493 case DATETIME2:
5494 case OUTPUT:
5495 case INSERTED:
5496 case DELETED:
5497 case FILENAME:
5498 case SIZE:
5499 case MAXSIZE:
5500 case FILEGROWTH:
5501 case UNLIMITED:
5502 case KB:
5503 case MB:
5504 case GB:
5505 case TB:
5506 case CONTAINS:
5507 case MEMORY_OPTIMIZED_DATA:
5508 case FILEGROUP:
5509 case NON_TRANSACTED_ACCESS:
5510 case DB_CHAINING:
5511 case TRUSTWORTHY:
5512 case FORWARD_ONLY:
5513 case KEYSET:
5514 case FAST_FORWARD:
5515 case SCROLL_LOCKS:
5516 case OPTIMISTIC:
5517 case TYPE_WARNING:
5518 case SCHEMABINDING:
5519 case CALLER:
5520 case OWNER:
5521 case SNAPSHOT:
5522 case REPEATABLE:
5523 case SERIALIZABLE:
5524 case NATIVE_COMPILATION:
5525 case VIEW_METADATA:
5526 case INSTEAD:
5527 case APPEND:
5528 case INCREMENT:
5529 case CACHE:
5530 case MINVALUE:
5531 case MAXVALUE:
5532 case RESTART:
5533 case LOB_COMPACTION:
5534 case COMPRESS_ALL_ROW_GROUPS:
5535 case REORGANIZE:
5536 case RESUME:
5537 case PAUSE:
5538 case ABORT:
5539 case ACCELERATED_DATABASE_RECOVERY:
5540 case PERSISTENT_VERSION_STORE_FILEGROUP:
5541 case IMMEDIATE:
5542 case NO_WAIT:
5543 case TARGET_RECOVERY_TIME:
5544 case SECONDS:
5545 case HONOR_BROKER_PRIORITY:
5546 case ERROR_BROKER_CONVERSATIONS:
5547 case NEW_BROKER:
5548 case DISABLE_BROKER:
5549 case ENABLE_BROKER:
5550 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
5551 case READ_COMMITTED_SNAPSHOT:
5552 case ALLOW_SNAPSHOT_ISOLATION:
5553 case RECURSIVE_TRIGGERS:
5554 case QUOTED_IDENTIFIER:
5555 case NUMERIC_ROUNDABORT:
5556 case CONCAT_NULL_YIELDS_NULL:
5557 case COMPATIBILITY_LEVEL:
5558 case ARITHABORT:
5559 case ANSI_WARNINGS:
5560 case ANSI_PADDING:
5561 case ANSI_NULLS:
5562 case ANSI_NULL_DEFAULT:
5563 case PAGE_VERIFY:
5564 case CHECKSUM:
5565 case TORN_PAGE_DETECTION:
5566 case BULK_LOGGED:
5567 case RECOVERY:
5568 case TOTAL_EXECUTION_CPU_TIME_MS:
5569 case TOTAL_COMPILE_CPU_TIME_MS:
5570 case STALE_CAPTURE_POLICY_THRESHOLD:
5571 case EXECUTION_COUNT:
5572 case QUERY_CAPTURE_POLICY:
5573 case WAIT_STATS_CAPTURE_MODE:
5574 case MAX_PLANS_PER_QUERY:
5575 case QUERY_CAPTURE_MODE:
5576 case SIZE_BASED_CLEANUP_MODE:
5577 case INTERVAL_LENGTH_MINUTES:
5578 case MAX_STORAGE_SIZE_MB:
5579 case DATA_FLUSH_INTERVAL_SECONDS:
5580 case CLEANUP_POLICY:
5581 case CUSTOM:
5582 case STALE_QUERY_THRESHOLD_DAYS:
5583 case OPERATION_MODE:
5584 case QUERY_STORE:
5585 case CURSOR_DEFAULT:
5586 case GLOBAL:
5587 case CURSOR_CLOSE_ON_COMMIT:
5588 case HOURS:
5589 case CHANGE_RETENTION:
5590 case AUTO_CLEANUP:
5591 case CHANGE_TRACKING:
5592 case AUTOMATIC_TUNING:
5593 case FORCE_LAST_GOOD_PLAN:
5594 case AUTO_UPDATE_STATISTICS_ASYNC:
5595 case AUTO_UPDATE_STATISTICS:
5596 case AUTO_SHRINK:
5597 case AUTO_CREATE_STATISTICS:
5598 case INCREMENTAL:
5599 case AUTO_CLOSE:
5600 case DATA_RETENTION:
5601 case TEMPORAL_HISTORY_RETENTION:
5602 case EDITION:
5603 case MIXED_PAGE_ALLOCATION:
5604 case DISABLED:
5605 case ALLOWED:
5606 case HADR:
5607 case MULTI_USER:
5608 case RESTRICTED_USER:
5609 case SINGLE_USER:
5610 case OFFLINE:
5611 case EMERGENCY:
5612 case SUSPEND:
5613 case DATE_CORRELATION_OPTIMIZATION:
5614 case ELASTIC_POOL:
5615 case SERVICE_OBJECTIVE:
5616 case DATABASE_NAME:
5617 case ALLOW_CONNECTIONS:
5618 case GEO:
5619 case NAMED:
5620 case DATEFIRST:
5621 case BACKUP_STORAGE_REDUNDANCY:
5622 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
5623 case SECONDARY:
5624 case FAILOVER:
5625 case DEFAULT_FULLTEXT_LANGUAGE:
5626 case DEFAULT_LANGUAGE:
5627 case INLINE:
5628 case NESTED_TRIGGERS:
5629 case TRANSFORM_NOISE_WORDS:
5630 case TWO_DIGIT_YEAR_CUTOFF:
5631 case PERSISTENT_LOG_BUFFER:
5632 case DIRECTORY_NAME:
5633 case DATEFORMAT:
5634 case DELAYED_DURABILITY:
5635 case AUTHORIZATION:
5636 case TRANSFER:
5637 case PROVIDER:
5638 case SEARCH:
5639 case MEMBER:
5640 case IDENTIFIER_:
5641 case DELIMITED_IDENTIFIER_:
5642 enterOuterAlt(_localctx, 1);
5643 {
5644 setState(1307);
5645 identifier();
5646 }
5647 break;
5648 case STRING_:
5649 enterOuterAlt(_localctx, 2);
5650 {
5651 setState(1308);
5652 match(STRING_);
5653 }
5654 break;
5655 default:
5656 throw new NoViableAltException(this);
5657 }
5658 }
5659 catch (RecognitionException re) {
5660 _localctx.exception = re;
5661 _errHandler.reportError(this, re);
5662 _errHandler.recover(this, re);
5663 }
5664 finally {
5665 exitRule();
5666 }
5667 return _localctx;
5668 }
5669
5670 public static class DataTypeLengthContext extends ParserRuleContext {
5671 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5672 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5673 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
5674 public TerminalNode NUMBER_(int i) {
5675 return getToken(SQLServerStatementParser.NUMBER_, i);
5676 }
5677 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
5678 public DataTypeLengthContext(ParserRuleContext parent, int invokingState) {
5679 super(parent, invokingState);
5680 }
5681 @Override public int getRuleIndex() { return RULE_dataTypeLength; }
5682 @Override
5683 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5684 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeLength(this);
5685 else return visitor.visitChildren(this);
5686 }
5687 }
5688
5689 public final DataTypeLengthContext dataTypeLength() throws RecognitionException {
5690 DataTypeLengthContext _localctx = new DataTypeLengthContext(_ctx, getState());
5691 enterRule(_localctx, 94, RULE_dataTypeLength);
5692 int _la;
5693 try {
5694 enterOuterAlt(_localctx, 1);
5695 {
5696 setState(1311);
5697 match(LP_);
5698 setState(1317);
5699 _errHandler.sync(this);
5700 _la = _input.LA(1);
5701 if (_la==NUMBER_) {
5702 {
5703 setState(1312);
5704 match(NUMBER_);
5705 setState(1315);
5706 _errHandler.sync(this);
5707 _la = _input.LA(1);
5708 if (_la==COMMA_) {
5709 {
5710 setState(1313);
5711 match(COMMA_);
5712 setState(1314);
5713 match(NUMBER_);
5714 }
5715 }
5716
5717 }
5718 }
5719
5720 setState(1319);
5721 match(RP_);
5722 }
5723 }
5724 catch (RecognitionException re) {
5725 _localctx.exception = re;
5726 _errHandler.reportError(this, re);
5727 _errHandler.recover(this, re);
5728 }
5729 finally {
5730 exitRule();
5731 }
5732 return _localctx;
5733 }
5734
5735 public static class PrimaryKeyContext extends ParserRuleContext {
5736 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
5737 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
5738 public PrimaryKeyContext(ParserRuleContext parent, int invokingState) {
5739 super(parent, invokingState);
5740 }
5741 @Override public int getRuleIndex() { return RULE_primaryKey; }
5742 @Override
5743 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5744 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKey(this);
5745 else return visitor.visitChildren(this);
5746 }
5747 }
5748
5749 public final PrimaryKeyContext primaryKey() throws RecognitionException {
5750 PrimaryKeyContext _localctx = new PrimaryKeyContext(_ctx, getState());
5751 enterRule(_localctx, 96, RULE_primaryKey);
5752 int _la;
5753 try {
5754 enterOuterAlt(_localctx, 1);
5755 {
5756 setState(1322);
5757 _errHandler.sync(this);
5758 _la = _input.LA(1);
5759 if (_la==PRIMARY) {
5760 {
5761 setState(1321);
5762 match(PRIMARY);
5763 }
5764 }
5765
5766 setState(1324);
5767 match(KEY);
5768 }
5769 }
5770 catch (RecognitionException re) {
5771 _localctx.exception = re;
5772 _errHandler.reportError(this, re);
5773 _errHandler.recover(this, re);
5774 }
5775 finally {
5776 exitRule();
5777 }
5778 return _localctx;
5779 }
5780
5781 public static class ExprContext extends ParserRuleContext {
5782 public BooleanPrimaryContext booleanPrimary() {
5783 return getRuleContext(BooleanPrimaryContext.class,0);
5784 }
5785 public NotOperatorContext notOperator() {
5786 return getRuleContext(NotOperatorContext.class,0);
5787 }
5788 public List<ExprContext> expr() {
5789 return getRuleContexts(ExprContext.class);
5790 }
5791 public ExprContext expr(int i) {
5792 return getRuleContext(ExprContext.class,i);
5793 }
5794 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5795 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5796 public AndOperatorContext andOperator() {
5797 return getRuleContext(AndOperatorContext.class,0);
5798 }
5799 public OrOperatorContext orOperator() {
5800 return getRuleContext(OrOperatorContext.class,0);
5801 }
5802 public DistinctFromContext distinctFrom() {
5803 return getRuleContext(DistinctFromContext.class,0);
5804 }
5805 public ExprContext(ParserRuleContext parent, int invokingState) {
5806 super(parent, invokingState);
5807 }
5808 @Override public int getRuleIndex() { return RULE_expr; }
5809 @Override
5810 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5811 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExpr(this);
5812 else return visitor.visitChildren(this);
5813 }
5814 }
5815
5816 public final ExprContext expr() throws RecognitionException {
5817 return expr(0);
5818 }
5819
5820 private ExprContext expr(int _p) throws RecognitionException {
5821 ParserRuleContext _parentctx = _ctx;
5822 int _parentState = getState();
5823 ExprContext _localctx = new ExprContext(_ctx, _parentState);
5824 ExprContext _prevctx = _localctx;
5825 int _startState = 98;
5826 enterRecursionRule(_localctx, 98, RULE_expr, _p);
5827 try {
5828 int _alt;
5829 enterOuterAlt(_localctx, 1);
5830 {
5831 setState(1335);
5832 _errHandler.sync(this);
5833 switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) {
5834 case 1:
5835 {
5836 setState(1327);
5837 booleanPrimary(0);
5838 }
5839 break;
5840 case 2:
5841 {
5842 setState(1328);
5843 notOperator();
5844 setState(1329);
5845 expr(2);
5846 }
5847 break;
5848 case 3:
5849 {
5850 setState(1331);
5851 match(LP_);
5852 setState(1332);
5853 expr(0);
5854 setState(1333);
5855 match(RP_);
5856 }
5857 break;
5858 }
5859 _ctx.stop = _input.LT(-1);
5860 setState(1351);
5861 _errHandler.sync(this);
5862 _alt = getInterpreter().adaptivePredict(_input,43,_ctx);
5863 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
5864 if ( _alt==1 ) {
5865 if ( _parseListeners!=null ) triggerExitRuleEvent();
5866 _prevctx = _localctx;
5867 {
5868 setState(1349);
5869 _errHandler.sync(this);
5870 switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
5871 case 1:
5872 {
5873 _localctx = new ExprContext(_parentctx, _parentState);
5874 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5875 setState(1337);
5876 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
5877 setState(1338);
5878 andOperator();
5879 setState(1339);
5880 expr(6);
5881 }
5882 break;
5883 case 2:
5884 {
5885 _localctx = new ExprContext(_parentctx, _parentState);
5886 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5887 setState(1341);
5888 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
5889 setState(1342);
5890 orOperator();
5891 setState(1343);
5892 expr(5);
5893 }
5894 break;
5895 case 3:
5896 {
5897 _localctx = new ExprContext(_parentctx, _parentState);
5898 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5899 setState(1345);
5900 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
5901 setState(1346);
5902 distinctFrom();
5903 setState(1347);
5904 expr(4);
5905 }
5906 break;
5907 }
5908 }
5909 }
5910 setState(1353);
5911 _errHandler.sync(this);
5912 _alt = getInterpreter().adaptivePredict(_input,43,_ctx);
5913 }
5914 }
5915 }
5916 catch (RecognitionException re) {
5917 _localctx.exception = re;
5918 _errHandler.reportError(this, re);
5919 _errHandler.recover(this, re);
5920 }
5921 finally {
5922 unrollRecursionContexts(_parentctx);
5923 }
5924 return _localctx;
5925 }
5926
5927 public static class AndOperatorContext extends ParserRuleContext {
5928 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
5929 public TerminalNode AND_() { return getToken(SQLServerStatementParser.AND_, 0); }
5930 public AndOperatorContext(ParserRuleContext parent, int invokingState) {
5931 super(parent, invokingState);
5932 }
5933 @Override public int getRuleIndex() { return RULE_andOperator; }
5934 @Override
5935 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5936 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAndOperator(this);
5937 else return visitor.visitChildren(this);
5938 }
5939 }
5940
5941 public final AndOperatorContext andOperator() throws RecognitionException {
5942 AndOperatorContext _localctx = new AndOperatorContext(_ctx, getState());
5943 enterRule(_localctx, 100, RULE_andOperator);
5944 int _la;
5945 try {
5946 enterOuterAlt(_localctx, 1);
5947 {
5948 setState(1354);
5949 _la = _input.LA(1);
5950 if ( !(_la==AND_ || _la==AND) ) {
5951 _errHandler.recoverInline(this);
5952 }
5953 else {
5954 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5955 _errHandler.reportMatch(this);
5956 consume();
5957 }
5958 }
5959 }
5960 catch (RecognitionException re) {
5961 _localctx.exception = re;
5962 _errHandler.reportError(this, re);
5963 _errHandler.recover(this, re);
5964 }
5965 finally {
5966 exitRule();
5967 }
5968 return _localctx;
5969 }
5970
5971 public static class OrOperatorContext extends ParserRuleContext {
5972 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
5973 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
5974 public OrOperatorContext(ParserRuleContext parent, int invokingState) {
5975 super(parent, invokingState);
5976 }
5977 @Override public int getRuleIndex() { return RULE_orOperator; }
5978 @Override
5979 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5980 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrOperator(this);
5981 else return visitor.visitChildren(this);
5982 }
5983 }
5984
5985 public final OrOperatorContext orOperator() throws RecognitionException {
5986 OrOperatorContext _localctx = new OrOperatorContext(_ctx, getState());
5987 enterRule(_localctx, 102, RULE_orOperator);
5988 int _la;
5989 try {
5990 enterOuterAlt(_localctx, 1);
5991 {
5992 setState(1356);
5993 _la = _input.LA(1);
5994 if ( !(_la==OR_ || _la==OR) ) {
5995 _errHandler.recoverInline(this);
5996 }
5997 else {
5998 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5999 _errHandler.reportMatch(this);
6000 consume();
6001 }
6002 }
6003 }
6004 catch (RecognitionException re) {
6005 _localctx.exception = re;
6006 _errHandler.reportError(this, re);
6007 _errHandler.recover(this, re);
6008 }
6009 finally {
6010 exitRule();
6011 }
6012 return _localctx;
6013 }
6014
6015 public static class DistinctFromContext extends ParserRuleContext {
6016 public TerminalNode IS() { return getToken(SQLServerStatementParser.IS, 0); }
6017 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
6018 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
6019 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6020 public DistinctFromContext(ParserRuleContext parent, int invokingState) {
6021 super(parent, invokingState);
6022 }
6023 @Override public int getRuleIndex() { return RULE_distinctFrom; }
6024 @Override
6025 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6026 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistinctFrom(this);
6027 else return visitor.visitChildren(this);
6028 }
6029 }
6030
6031 public final DistinctFromContext distinctFrom() throws RecognitionException {
6032 DistinctFromContext _localctx = new DistinctFromContext(_ctx, getState());
6033 enterRule(_localctx, 104, RULE_distinctFrom);
6034 int _la;
6035 try {
6036 enterOuterAlt(_localctx, 1);
6037 {
6038 setState(1358);
6039 match(IS);
6040 setState(1360);
6041 _errHandler.sync(this);
6042 _la = _input.LA(1);
6043 if (_la==NOT) {
6044 {
6045 setState(1359);
6046 match(NOT);
6047 }
6048 }
6049
6050 setState(1362);
6051 match(DISTINCT);
6052 setState(1363);
6053 match(FROM);
6054 }
6055 }
6056 catch (RecognitionException re) {
6057 _localctx.exception = re;
6058 _errHandler.reportError(this, re);
6059 _errHandler.recover(this, re);
6060 }
6061 finally {
6062 exitRule();
6063 }
6064 return _localctx;
6065 }
6066
6067 public static class NotOperatorContext extends ParserRuleContext {
6068 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6069 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
6070 public NotOperatorContext(ParserRuleContext parent, int invokingState) {
6071 super(parent, invokingState);
6072 }
6073 @Override public int getRuleIndex() { return RULE_notOperator; }
6074 @Override
6075 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6076 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNotOperator(this);
6077 else return visitor.visitChildren(this);
6078 }
6079 }
6080
6081 public final NotOperatorContext notOperator() throws RecognitionException {
6082 NotOperatorContext _localctx = new NotOperatorContext(_ctx, getState());
6083 enterRule(_localctx, 106, RULE_notOperator);
6084 int _la;
6085 try {
6086 enterOuterAlt(_localctx, 1);
6087 {
6088 setState(1365);
6089 _la = _input.LA(1);
6090 if ( !(_la==NOT_ || _la==NOT) ) {
6091 _errHandler.recoverInline(this);
6092 }
6093 else {
6094 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6095 _errHandler.reportMatch(this);
6096 consume();
6097 }
6098 }
6099 }
6100 catch (RecognitionException re) {
6101 _localctx.exception = re;
6102 _errHandler.reportError(this, re);
6103 _errHandler.recover(this, re);
6104 }
6105 finally {
6106 exitRule();
6107 }
6108 return _localctx;
6109 }
6110
6111 public static class BooleanPrimaryContext extends ParserRuleContext {
6112 public PredicateContext predicate() {
6113 return getRuleContext(PredicateContext.class,0);
6114 }
6115 public BooleanPrimaryContext booleanPrimary() {
6116 return getRuleContext(BooleanPrimaryContext.class,0);
6117 }
6118 public TerminalNode IS() { return getToken(SQLServerStatementParser.IS, 0); }
6119 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
6120 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
6121 public TerminalNode UNKNOWN() { return getToken(SQLServerStatementParser.UNKNOWN, 0); }
6122 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
6123 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6124 public TerminalNode SAFE_EQ_() { return getToken(SQLServerStatementParser.SAFE_EQ_, 0); }
6125 public ComparisonOperatorContext comparisonOperator() {
6126 return getRuleContext(ComparisonOperatorContext.class,0);
6127 }
6128 public SubqueryContext subquery() {
6129 return getRuleContext(SubqueryContext.class,0);
6130 }
6131 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
6132 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
6133 public BooleanPrimaryContext(ParserRuleContext parent, int invokingState) {
6134 super(parent, invokingState);
6135 }
6136 @Override public int getRuleIndex() { return RULE_booleanPrimary; }
6137 @Override
6138 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6139 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanPrimary(this);
6140 else return visitor.visitChildren(this);
6141 }
6142 }
6143
6144 public final BooleanPrimaryContext booleanPrimary() throws RecognitionException {
6145 return booleanPrimary(0);
6146 }
6147
6148 private BooleanPrimaryContext booleanPrimary(int _p) throws RecognitionException {
6149 ParserRuleContext _parentctx = _ctx;
6150 int _parentState = getState();
6151 BooleanPrimaryContext _localctx = new BooleanPrimaryContext(_ctx, _parentState);
6152 BooleanPrimaryContext _prevctx = _localctx;
6153 int _startState = 108;
6154 enterRecursionRule(_localctx, 108, RULE_booleanPrimary, _p);
6155 int _la;
6156 try {
6157 int _alt;
6158 enterOuterAlt(_localctx, 1);
6159 {
6160 {
6161 setState(1368);
6162 predicate();
6163 }
6164 _ctx.stop = _input.LT(-1);
6165 setState(1390);
6166 _errHandler.sync(this);
6167 _alt = getInterpreter().adaptivePredict(_input,47,_ctx);
6168 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6169 if ( _alt==1 ) {
6170 if ( _parseListeners!=null ) triggerExitRuleEvent();
6171 _prevctx = _localctx;
6172 {
6173 setState(1388);
6174 _errHandler.sync(this);
6175 switch ( getInterpreter().adaptivePredict(_input,46,_ctx) ) {
6176 case 1:
6177 {
6178 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6179 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6180 setState(1370);
6181 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6182 setState(1371);
6183 match(IS);
6184 setState(1373);
6185 _errHandler.sync(this);
6186 _la = _input.LA(1);
6187 if (_la==NOT) {
6188 {
6189 setState(1372);
6190 match(NOT);
6191 }
6192 }
6193
6194 setState(1375);
6195 _la = _input.LA(1);
6196 if ( !(((((_la - 108)) & ~0x3f) == 0 && ((1L << (_la - 108)) & ((1L << (NULL - 108)) | (1L << (TRUE - 108)) | (1L << (FALSE - 108)))) != 0) || _la==UNKNOWN) ) {
6197 _errHandler.recoverInline(this);
6198 }
6199 else {
6200 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6201 _errHandler.reportMatch(this);
6202 consume();
6203 }
6204 }
6205 break;
6206 case 2:
6207 {
6208 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6209 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6210 setState(1376);
6211 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6212 setState(1377);
6213 match(SAFE_EQ_);
6214 setState(1378);
6215 predicate();
6216 }
6217 break;
6218 case 3:
6219 {
6220 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6221 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6222 setState(1379);
6223 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6224 setState(1380);
6225 comparisonOperator();
6226 setState(1381);
6227 predicate();
6228 }
6229 break;
6230 case 4:
6231 {
6232 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6233 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6234 setState(1383);
6235 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6236 setState(1384);
6237 comparisonOperator();
6238 setState(1385);
6239 _la = _input.LA(1);
6240 if ( !(_la==ALL || _la==ANY) ) {
6241 _errHandler.recoverInline(this);
6242 }
6243 else {
6244 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6245 _errHandler.reportMatch(this);
6246 consume();
6247 }
6248 setState(1386);
6249 subquery();
6250 }
6251 break;
6252 }
6253 }
6254 }
6255 setState(1392);
6256 _errHandler.sync(this);
6257 _alt = getInterpreter().adaptivePredict(_input,47,_ctx);
6258 }
6259 }
6260 }
6261 catch (RecognitionException re) {
6262 _localctx.exception = re;
6263 _errHandler.reportError(this, re);
6264 _errHandler.recover(this, re);
6265 }
6266 finally {
6267 unrollRecursionContexts(_parentctx);
6268 }
6269 return _localctx;
6270 }
6271
6272 public static class ComparisonOperatorContext extends ParserRuleContext {
6273 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
6274 public TerminalNode GTE_() { return getToken(SQLServerStatementParser.GTE_, 0); }
6275 public TerminalNode GT_() { return getToken(SQLServerStatementParser.GT_, 0); }
6276 public TerminalNode LTE_() { return getToken(SQLServerStatementParser.LTE_, 0); }
6277 public TerminalNode LT_() { return getToken(SQLServerStatementParser.LT_, 0); }
6278 public TerminalNode NEQ_() { return getToken(SQLServerStatementParser.NEQ_, 0); }
6279 public ComparisonOperatorContext(ParserRuleContext parent, int invokingState) {
6280 super(parent, invokingState);
6281 }
6282 @Override public int getRuleIndex() { return RULE_comparisonOperator; }
6283 @Override
6284 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6285 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComparisonOperator(this);
6286 else return visitor.visitChildren(this);
6287 }
6288 }
6289
6290 public final ComparisonOperatorContext comparisonOperator() throws RecognitionException {
6291 ComparisonOperatorContext _localctx = new ComparisonOperatorContext(_ctx, getState());
6292 enterRule(_localctx, 110, RULE_comparisonOperator);
6293 int _la;
6294 try {
6295 enterOuterAlt(_localctx, 1);
6296 {
6297 setState(1393);
6298 _la = _input.LA(1);
6299 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ_) | (1L << NEQ_) | (1L << GT_) | (1L << GTE_) | (1L << LT_) | (1L << LTE_))) != 0)) ) {
6300 _errHandler.recoverInline(this);
6301 }
6302 else {
6303 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6304 _errHandler.reportMatch(this);
6305 consume();
6306 }
6307 }
6308 }
6309 catch (RecognitionException re) {
6310 _localctx.exception = re;
6311 _errHandler.reportError(this, re);
6312 _errHandler.recover(this, re);
6313 }
6314 finally {
6315 exitRule();
6316 }
6317 return _localctx;
6318 }
6319
6320 public static class PredicateContext extends ParserRuleContext {
6321 public List<BitExprContext> bitExpr() {
6322 return getRuleContexts(BitExprContext.class);
6323 }
6324 public BitExprContext bitExpr(int i) {
6325 return getRuleContext(BitExprContext.class,i);
6326 }
6327 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
6328 public SubqueryContext subquery() {
6329 return getRuleContext(SubqueryContext.class,0);
6330 }
6331 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6332 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6333 public List<ExprContext> expr() {
6334 return getRuleContexts(ExprContext.class);
6335 }
6336 public ExprContext expr(int i) {
6337 return getRuleContext(ExprContext.class,i);
6338 }
6339 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6340 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6341 public TerminalNode COMMA_(int i) {
6342 return getToken(SQLServerStatementParser.COMMA_, i);
6343 }
6344 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
6345 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
6346 public PredicateContext predicate() {
6347 return getRuleContext(PredicateContext.class,0);
6348 }
6349 public TerminalNode LIKE() { return getToken(SQLServerStatementParser.LIKE, 0); }
6350 public List<SimpleExprContext> simpleExpr() {
6351 return getRuleContexts(SimpleExprContext.class);
6352 }
6353 public SimpleExprContext simpleExpr(int i) {
6354 return getRuleContext(SimpleExprContext.class,i);
6355 }
6356 public TerminalNode ESCAPE() { return getToken(SQLServerStatementParser.ESCAPE, 0); }
6357 public PredicateContext(ParserRuleContext parent, int invokingState) {
6358 super(parent, invokingState);
6359 }
6360 @Override public int getRuleIndex() { return RULE_predicate; }
6361 @Override
6362 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6363 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPredicate(this);
6364 else return visitor.visitChildren(this);
6365 }
6366 }
6367
6368 public final PredicateContext predicate() throws RecognitionException {
6369 PredicateContext _localctx = new PredicateContext(_ctx, getState());
6370 enterRule(_localctx, 112, RULE_predicate);
6371 int _la;
6372 try {
6373 setState(1438);
6374 _errHandler.sync(this);
6375 switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) {
6376 case 1:
6377 enterOuterAlt(_localctx, 1);
6378 {
6379 setState(1395);
6380 bitExpr(0);
6381 setState(1397);
6382 _errHandler.sync(this);
6383 _la = _input.LA(1);
6384 if (_la==NOT) {
6385 {
6386 setState(1396);
6387 match(NOT);
6388 }
6389 }
6390
6391 setState(1399);
6392 match(IN);
6393 setState(1400);
6394 subquery();
6395 }
6396 break;
6397 case 2:
6398 enterOuterAlt(_localctx, 2);
6399 {
6400 setState(1402);
6401 bitExpr(0);
6402 setState(1404);
6403 _errHandler.sync(this);
6404 _la = _input.LA(1);
6405 if (_la==NOT) {
6406 {
6407 setState(1403);
6408 match(NOT);
6409 }
6410 }
6411
6412 setState(1406);
6413 match(IN);
6414 setState(1407);
6415 match(LP_);
6416 setState(1408);
6417 expr(0);
6418 setState(1413);
6419 _errHandler.sync(this);
6420 _la = _input.LA(1);
6421 while (_la==COMMA_) {
6422 {
6423 {
6424 setState(1409);
6425 match(COMMA_);
6426 setState(1410);
6427 expr(0);
6428 }
6429 }
6430 setState(1415);
6431 _errHandler.sync(this);
6432 _la = _input.LA(1);
6433 }
6434 setState(1416);
6435 match(RP_);
6436 }
6437 break;
6438 case 3:
6439 enterOuterAlt(_localctx, 3);
6440 {
6441 setState(1418);
6442 bitExpr(0);
6443 setState(1420);
6444 _errHandler.sync(this);
6445 _la = _input.LA(1);
6446 if (_la==NOT) {
6447 {
6448 setState(1419);
6449 match(NOT);
6450 }
6451 }
6452
6453 setState(1422);
6454 match(BETWEEN);
6455 setState(1423);
6456 bitExpr(0);
6457 setState(1424);
6458 match(AND);
6459 setState(1425);
6460 predicate();
6461 }
6462 break;
6463 case 4:
6464 enterOuterAlt(_localctx, 4);
6465 {
6466 setState(1427);
6467 bitExpr(0);
6468 setState(1429);
6469 _errHandler.sync(this);
6470 _la = _input.LA(1);
6471 if (_la==NOT) {
6472 {
6473 setState(1428);
6474 match(NOT);
6475 }
6476 }
6477
6478 setState(1431);
6479 match(LIKE);
6480 setState(1432);
6481 simpleExpr(0);
6482 setState(1435);
6483 _errHandler.sync(this);
6484 switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) {
6485 case 1:
6486 {
6487 setState(1433);
6488 match(ESCAPE);
6489 setState(1434);
6490 simpleExpr(0);
6491 }
6492 break;
6493 }
6494 }
6495 break;
6496 case 5:
6497 enterOuterAlt(_localctx, 5);
6498 {
6499 setState(1437);
6500 bitExpr(0);
6501 }
6502 break;
6503 }
6504 }
6505 catch (RecognitionException re) {
6506 _localctx.exception = re;
6507 _errHandler.reportError(this, re);
6508 _errHandler.recover(this, re);
6509 }
6510 finally {
6511 exitRule();
6512 }
6513 return _localctx;
6514 }
6515
6516 public static class BitExprContext extends ParserRuleContext {
6517 public SimpleExprContext simpleExpr() {
6518 return getRuleContext(SimpleExprContext.class,0);
6519 }
6520 public List<BitExprContext> bitExpr() {
6521 return getRuleContexts(BitExprContext.class);
6522 }
6523 public BitExprContext bitExpr(int i) {
6524 return getRuleContext(BitExprContext.class,i);
6525 }
6526 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
6527 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
6528 public TerminalNode SIGNED_LEFT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_LEFT_SHIFT_, 0); }
6529 public TerminalNode SIGNED_RIGHT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_RIGHT_SHIFT_, 0); }
6530 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6531 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6532 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
6533 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
6534 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
6535 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
6536 public BitExprContext(ParserRuleContext parent, int invokingState) {
6537 super(parent, invokingState);
6538 }
6539 @Override public int getRuleIndex() { return RULE_bitExpr; }
6540 @Override
6541 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6542 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitExpr(this);
6543 else return visitor.visitChildren(this);
6544 }
6545 }
6546
6547 public final BitExprContext bitExpr() throws RecognitionException {
6548 return bitExpr(0);
6549 }
6550
6551 private BitExprContext bitExpr(int _p) throws RecognitionException {
6552 ParserRuleContext _parentctx = _ctx;
6553 int _parentState = getState();
6554 BitExprContext _localctx = new BitExprContext(_ctx, _parentState);
6555 BitExprContext _prevctx = _localctx;
6556 int _startState = 114;
6557 enterRecursionRule(_localctx, 114, RULE_bitExpr, _p);
6558 try {
6559 int _alt;
6560 enterOuterAlt(_localctx, 1);
6561 {
6562 {
6563 setState(1441);
6564 simpleExpr(0);
6565 }
6566 _ctx.stop = _input.LT(-1);
6567 setState(1475);
6568 _errHandler.sync(this);
6569 _alt = getInterpreter().adaptivePredict(_input,56,_ctx);
6570 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6571 if ( _alt==1 ) {
6572 if ( _parseListeners!=null ) triggerExitRuleEvent();
6573 _prevctx = _localctx;
6574 {
6575 setState(1473);
6576 _errHandler.sync(this);
6577 switch ( getInterpreter().adaptivePredict(_input,55,_ctx) ) {
6578 case 1:
6579 {
6580 _localctx = new BitExprContext(_parentctx, _parentState);
6581 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6582 setState(1443);
6583 if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)");
6584 setState(1444);
6585 match(VERTICAL_BAR_);
6586 setState(1445);
6587 bitExpr(12);
6588 }
6589 break;
6590 case 2:
6591 {
6592 _localctx = new BitExprContext(_parentctx, _parentState);
6593 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6594 setState(1446);
6595 if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
6596 setState(1447);
6597 match(AMPERSAND_);
6598 setState(1448);
6599 bitExpr(11);
6600 }
6601 break;
6602 case 3:
6603 {
6604 _localctx = new BitExprContext(_parentctx, _parentState);
6605 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6606 setState(1449);
6607 if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
6608 setState(1450);
6609 match(SIGNED_LEFT_SHIFT_);
6610 setState(1451);
6611 bitExpr(10);
6612 }
6613 break;
6614 case 4:
6615 {
6616 _localctx = new BitExprContext(_parentctx, _parentState);
6617 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6618 setState(1452);
6619 if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)");
6620 setState(1453);
6621 match(SIGNED_RIGHT_SHIFT_);
6622 setState(1454);
6623 bitExpr(9);
6624 }
6625 break;
6626 case 5:
6627 {
6628 _localctx = new BitExprContext(_parentctx, _parentState);
6629 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6630 setState(1455);
6631 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6632 setState(1456);
6633 match(PLUS_);
6634 setState(1457);
6635 bitExpr(8);
6636 }
6637 break;
6638 case 6:
6639 {
6640 _localctx = new BitExprContext(_parentctx, _parentState);
6641 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6642 setState(1458);
6643 if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
6644 setState(1459);
6645 match(MINUS_);
6646 setState(1460);
6647 bitExpr(7);
6648 }
6649 break;
6650 case 7:
6651 {
6652 _localctx = new BitExprContext(_parentctx, _parentState);
6653 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6654 setState(1461);
6655 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6656 setState(1462);
6657 match(ASTERISK_);
6658 setState(1463);
6659 bitExpr(6);
6660 }
6661 break;
6662 case 8:
6663 {
6664 _localctx = new BitExprContext(_parentctx, _parentState);
6665 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6666 setState(1464);
6667 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6668 setState(1465);
6669 match(SLASH_);
6670 setState(1466);
6671 bitExpr(5);
6672 }
6673 break;
6674 case 9:
6675 {
6676 _localctx = new BitExprContext(_parentctx, _parentState);
6677 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6678 setState(1467);
6679 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6680 setState(1468);
6681 match(MOD_);
6682 setState(1469);
6683 bitExpr(4);
6684 }
6685 break;
6686 case 10:
6687 {
6688 _localctx = new BitExprContext(_parentctx, _parentState);
6689 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6690 setState(1470);
6691 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6692 setState(1471);
6693 match(CARET_);
6694 setState(1472);
6695 bitExpr(3);
6696 }
6697 break;
6698 }
6699 }
6700 }
6701 setState(1477);
6702 _errHandler.sync(this);
6703 _alt = getInterpreter().adaptivePredict(_input,56,_ctx);
6704 }
6705 }
6706 }
6707 catch (RecognitionException re) {
6708 _localctx.exception = re;
6709 _errHandler.reportError(this, re);
6710 _errHandler.recover(this, re);
6711 }
6712 finally {
6713 unrollRecursionContexts(_parentctx);
6714 }
6715 return _localctx;
6716 }
6717
6718 public static class SimpleExprContext extends ParserRuleContext {
6719 public FunctionCallContext functionCall() {
6720 return getRuleContext(FunctionCallContext.class,0);
6721 }
6722 public ParameterMarkerContext parameterMarker() {
6723 return getRuleContext(ParameterMarkerContext.class,0);
6724 }
6725 public LiteralsContext literals() {
6726 return getRuleContext(LiteralsContext.class,0);
6727 }
6728 public ColumnNameContext columnName() {
6729 return getRuleContext(ColumnNameContext.class,0);
6730 }
6731 public VariableNameContext variableName() {
6732 return getRuleContext(VariableNameContext.class,0);
6733 }
6734 public List<SimpleExprContext> simpleExpr() {
6735 return getRuleContexts(SimpleExprContext.class);
6736 }
6737 public SimpleExprContext simpleExpr(int i) {
6738 return getRuleContext(SimpleExprContext.class,i);
6739 }
6740 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6741 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6742 public TerminalNode TILDE_() { return getToken(SQLServerStatementParser.TILDE_, 0); }
6743 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
6744 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
6745 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6746 public List<ExprContext> expr() {
6747 return getRuleContexts(ExprContext.class);
6748 }
6749 public ExprContext expr(int i) {
6750 return getRuleContext(ExprContext.class,i);
6751 }
6752 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6753 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
6754 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6755 public TerminalNode COMMA_(int i) {
6756 return getToken(SQLServerStatementParser.COMMA_, i);
6757 }
6758 public SubqueryContext subquery() {
6759 return getRuleContext(SubqueryContext.class,0);
6760 }
6761 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
6762 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
6763 public IdentifierContext identifier() {
6764 return getRuleContext(IdentifierContext.class,0);
6765 }
6766 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
6767 public CaseExpressionContext caseExpression() {
6768 return getRuleContext(CaseExpressionContext.class,0);
6769 }
6770 public PrivateExprOfDbContext privateExprOfDb() {
6771 return getRuleContext(PrivateExprOfDbContext.class,0);
6772 }
6773 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
6774 public SimpleExprContext(ParserRuleContext parent, int invokingState) {
6775 super(parent, invokingState);
6776 }
6777 @Override public int getRuleIndex() { return RULE_simpleExpr; }
6778 @Override
6779 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6780 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSimpleExpr(this);
6781 else return visitor.visitChildren(this);
6782 }
6783 }
6784
6785 public final SimpleExprContext simpleExpr() throws RecognitionException {
6786 return simpleExpr(0);
6787 }
6788
6789 private SimpleExprContext simpleExpr(int _p) throws RecognitionException {
6790 ParserRuleContext _parentctx = _ctx;
6791 int _parentState = getState();
6792 SimpleExprContext _localctx = new SimpleExprContext(_ctx, _parentState);
6793 SimpleExprContext _prevctx = _localctx;
6794 int _startState = 116;
6795 enterRecursionRule(_localctx, 116, RULE_simpleExpr, _p);
6796 int _la;
6797 try {
6798 int _alt;
6799 enterOuterAlt(_localctx, 1);
6800 {
6801 setState(1511);
6802 _errHandler.sync(this);
6803 switch ( getInterpreter().adaptivePredict(_input,60,_ctx) ) {
6804 case 1:
6805 {
6806 setState(1479);
6807 functionCall();
6808 }
6809 break;
6810 case 2:
6811 {
6812 setState(1480);
6813 parameterMarker();
6814 }
6815 break;
6816 case 3:
6817 {
6818 setState(1481);
6819 literals();
6820 }
6821 break;
6822 case 4:
6823 {
6824 setState(1482);
6825 columnName();
6826 }
6827 break;
6828 case 5:
6829 {
6830 setState(1483);
6831 variableName();
6832 }
6833 break;
6834 case 6:
6835 {
6836 setState(1484);
6837 _la = _input.LA(1);
6838 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_))) != 0) || _la==BINARY) ) {
6839 _errHandler.recoverInline(this);
6840 }
6841 else {
6842 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6843 _errHandler.reportMatch(this);
6844 consume();
6845 }
6846 setState(1485);
6847 simpleExpr(6);
6848 }
6849 break;
6850 case 7:
6851 {
6852 setState(1487);
6853 _errHandler.sync(this);
6854 _la = _input.LA(1);
6855 if (_la==ROW) {
6856 {
6857 setState(1486);
6858 match(ROW);
6859 }
6860 }
6861
6862 setState(1489);
6863 match(LP_);
6864 setState(1490);
6865 expr(0);
6866 setState(1495);
6867 _errHandler.sync(this);
6868 _la = _input.LA(1);
6869 while (_la==COMMA_) {
6870 {
6871 {
6872 setState(1491);
6873 match(COMMA_);
6874 setState(1492);
6875 expr(0);
6876 }
6877 }
6878 setState(1497);
6879 _errHandler.sync(this);
6880 _la = _input.LA(1);
6881 }
6882 setState(1498);
6883 match(RP_);
6884 }
6885 break;
6886 case 8:
6887 {
6888 setState(1501);
6889 _errHandler.sync(this);
6890 _la = _input.LA(1);
6891 if (_la==EXISTS) {
6892 {
6893 setState(1500);
6894 match(EXISTS);
6895 }
6896 }
6897
6898 setState(1503);
6899 subquery();
6900 }
6901 break;
6902 case 9:
6903 {
6904 setState(1504);
6905 match(LBE_);
6906 setState(1505);
6907 identifier();
6908 setState(1506);
6909 expr(0);
6910 setState(1507);
6911 match(RBE_);
6912 }
6913 break;
6914 case 10:
6915 {
6916 setState(1509);
6917 caseExpression();
6918 }
6919 break;
6920 case 11:
6921 {
6922 setState(1510);
6923 privateExprOfDb();
6924 }
6925 break;
6926 }
6927 _ctx.stop = _input.LT(-1);
6928 setState(1518);
6929 _errHandler.sync(this);
6930 _alt = getInterpreter().adaptivePredict(_input,61,_ctx);
6931 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6932 if ( _alt==1 ) {
6933 if ( _parseListeners!=null ) triggerExitRuleEvent();
6934 _prevctx = _localctx;
6935 {
6936 {
6937 _localctx = new SimpleExprContext(_parentctx, _parentState);
6938 pushNewRecursionContext(_localctx, _startState, RULE_simpleExpr);
6939 setState(1513);
6940 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6941 setState(1514);
6942 match(OR_);
6943 setState(1515);
6944 simpleExpr(8);
6945 }
6946 }
6947 }
6948 setState(1520);
6949 _errHandler.sync(this);
6950 _alt = getInterpreter().adaptivePredict(_input,61,_ctx);
6951 }
6952 }
6953 }
6954 catch (RecognitionException re) {
6955 _localctx.exception = re;
6956 _errHandler.reportError(this, re);
6957 _errHandler.recover(this, re);
6958 }
6959 finally {
6960 unrollRecursionContexts(_parentctx);
6961 }
6962 return _localctx;
6963 }
6964
6965 public static class FunctionCallContext extends ParserRuleContext {
6966 public AggregationFunctionContext aggregationFunction() {
6967 return getRuleContext(AggregationFunctionContext.class,0);
6968 }
6969 public SpecialFunctionContext specialFunction() {
6970 return getRuleContext(SpecialFunctionContext.class,0);
6971 }
6972 public RegularFunctionContext regularFunction() {
6973 return getRuleContext(RegularFunctionContext.class,0);
6974 }
6975 public FunctionCallContext(ParserRuleContext parent, int invokingState) {
6976 super(parent, invokingState);
6977 }
6978 @Override public int getRuleIndex() { return RULE_functionCall; }
6979 @Override
6980 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6981 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionCall(this);
6982 else return visitor.visitChildren(this);
6983 }
6984 }
6985
6986 public final FunctionCallContext functionCall() throws RecognitionException {
6987 FunctionCallContext _localctx = new FunctionCallContext(_ctx, getState());
6988 enterRule(_localctx, 118, RULE_functionCall);
6989 try {
6990 setState(1524);
6991 _errHandler.sync(this);
6992 switch ( getInterpreter().adaptivePredict(_input,62,_ctx) ) {
6993 case 1:
6994 enterOuterAlt(_localctx, 1);
6995 {
6996 setState(1521);
6997 aggregationFunction();
6998 }
6999 break;
7000 case 2:
7001 enterOuterAlt(_localctx, 2);
7002 {
7003 setState(1522);
7004 specialFunction();
7005 }
7006 break;
7007 case 3:
7008 enterOuterAlt(_localctx, 3);
7009 {
7010 setState(1523);
7011 regularFunction();
7012 }
7013 break;
7014 }
7015 }
7016 catch (RecognitionException re) {
7017 _localctx.exception = re;
7018 _errHandler.reportError(this, re);
7019 _errHandler.recover(this, re);
7020 }
7021 finally {
7022 exitRule();
7023 }
7024 return _localctx;
7025 }
7026
7027 public static class AggregationFunctionContext extends ParserRuleContext {
7028 public AggregationFunctionNameContext aggregationFunctionName() {
7029 return getRuleContext(AggregationFunctionNameContext.class,0);
7030 }
7031 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7032 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7033 public DistinctContext distinct() {
7034 return getRuleContext(DistinctContext.class,0);
7035 }
7036 public List<ExprContext> expr() {
7037 return getRuleContexts(ExprContext.class);
7038 }
7039 public ExprContext expr(int i) {
7040 return getRuleContext(ExprContext.class,i);
7041 }
7042 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
7043 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7044 public TerminalNode COMMA_(int i) {
7045 return getToken(SQLServerStatementParser.COMMA_, i);
7046 }
7047 public AggregationFunctionContext(ParserRuleContext parent, int invokingState) {
7048 super(parent, invokingState);
7049 }
7050 @Override public int getRuleIndex() { return RULE_aggregationFunction; }
7051 @Override
7052 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7053 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunction(this);
7054 else return visitor.visitChildren(this);
7055 }
7056 }
7057
7058 public final AggregationFunctionContext aggregationFunction() throws RecognitionException {
7059 AggregationFunctionContext _localctx = new AggregationFunctionContext(_ctx, getState());
7060 enterRule(_localctx, 120, RULE_aggregationFunction);
7061 int _la;
7062 try {
7063 enterOuterAlt(_localctx, 1);
7064 {
7065 setState(1526);
7066 aggregationFunctionName();
7067 setState(1527);
7068 match(LP_);
7069 setState(1529);
7070 _errHandler.sync(this);
7071 _la = _input.LA(1);
7072 if (_la==DISTINCT) {
7073 {
7074 setState(1528);
7075 distinct();
7076 }
7077 }
7078
7079 setState(1540);
7080 _errHandler.sync(this);
7081 switch (_input.LA(1)) {
7082 case NOT_:
7083 case TILDE_:
7084 case PLUS_:
7085 case MINUS_:
7086 case LP_:
7087 case LBE_:
7088 case QUESTION_:
7089 case DOLLAR_:
7090 case TRUNCATE:
7091 case SCHEMA:
7092 case COLUMNS:
7093 case PRECISION:
7094 case FUNCTION:
7095 case TRIGGER:
7096 case CASE:
7097 case CAST:
7098 case SUBSTRING:
7099 case OFF:
7100 case IF:
7101 case NOT:
7102 case NULL:
7103 case TRUE:
7104 case FALSE:
7105 case EXISTS:
7106 case GROUP:
7107 case LIMIT:
7108 case OFFSET:
7109 case SAVEPOINT:
7110 case BOOLEAN:
7111 case CHAR:
7112 case ARRAY:
7113 case INTERVAL:
7114 case DATE:
7115 case TIME:
7116 case TIMESTAMP:
7117 case LOCALTIME:
7118 case LOCALTIMESTAMP:
7119 case QUARTER:
7120 case MONTH:
7121 case WEEK:
7122 case DAY:
7123 case SECOND:
7124 case MICROSECOND:
7125 case MAX:
7126 case MIN:
7127 case SUM:
7128 case COUNT:
7129 case AVG:
7130 case ENABLE:
7131 case DISABLE:
7132 case INSTANCE:
7133 case DO:
7134 case DEFINER:
7135 case SQL:
7136 case CASCADED:
7137 case LOCAL:
7138 case NEXT:
7139 case NAME:
7140 case INTEGER:
7141 case TYPE:
7142 case TEXT:
7143 case VIEWS:
7144 case READ_ONLY:
7145 case DATABASE:
7146 case RETURNS:
7147 case DATEPART:
7148 case PASSWORD:
7149 case BINARY:
7150 case HIDDEN_:
7151 case MOD:
7152 case PARTITION:
7153 case PARTITIONS:
7154 case TOP:
7155 case ROW:
7156 case ROWS:
7157 case XOR:
7158 case ALWAYS:
7159 case ROLE:
7160 case START:
7161 case ALGORITHM:
7162 case AUTO:
7163 case BLOCKERS:
7164 case CLUSTERED:
7165 case NONCLUSTERED:
7166 case COLUMNSTORE:
7167 case CONTENT:
7168 case CONVERT:
7169 case YEARS:
7170 case MONTHS:
7171 case WEEKS:
7172 case DAYS:
7173 case MINUTES:
7174 case DENY:
7175 case DETERMINISTIC:
7176 case DISTRIBUTION:
7177 case DOCUMENT:
7178 case DURABILITY:
7179 case ENCRYPTED:
7180 case FILESTREAM:
7181 case FILETABLE:
7182 case FILLFACTOR:
7183 case FOLLOWING:
7184 case HASH:
7185 case HEAP:
7186 case INBOUND:
7187 case OUTBOUND:
7188 case UNBOUNDED:
7189 case INFINITE:
7190 case LOGIN:
7191 case MASKED:
7192 case MAXDOP:
7193 case MOVE:
7194 case NOCHECK:
7195 case OBJECT:
7196 case ONLINE:
7197 case OVER:
7198 case PAGE:
7199 case PAUSED:
7200 case PERIOD:
7201 case PERSISTED:
7202 case PRECEDING:
7203 case RANDOMIZED:
7204 case RANGE:
7205 case REBUILD:
7206 case REPLICATE:
7207 case REPLICATION:
7208 case RESUMABLE:
7209 case ROWGUIDCOL:
7210 case SAVE:
7211 case SELF:
7212 case SPARSE:
7213 case SWITCH:
7214 case TRAN:
7215 case TRANCOUNT:
7216 case CONTROL:
7217 case CONCAT:
7218 case TAKE:
7219 case OWNERSHIP:
7220 case DEFINITION:
7221 case APPLICATION:
7222 case ASSEMBLY:
7223 case SYMMETRIC:
7224 case ASYMMETRIC:
7225 case SERVER:
7226 case RECEIVE:
7227 case CHANGE:
7228 case TRACE:
7229 case TRACKING:
7230 case RESOURCES:
7231 case SETTINGS:
7232 case STATE:
7233 case AVAILABILITY:
7234 case CREDENTIAL:
7235 case ENDPOINT:
7236 case EVENT:
7237 case NOTIFICATION:
7238 case LINKED:
7239 case AUDIT:
7240 case DDL:
7241 case XML:
7242 case IMPERSONATE:
7243 case SECURABLES:
7244 case AUTHENTICATE:
7245 case EXTERNAL:
7246 case ACCESS:
7247 case ADMINISTER:
7248 case BULK:
7249 case OPERATIONS:
7250 case UNSAFE:
7251 case SHUTDOWN:
7252 case SCOPED:
7253 case CONFIGURATION:
7254 case DATASPACE:
7255 case SERVICE:
7256 case CERTIFICATE:
7257 case CONTRACT:
7258 case ENCRYPTION:
7259 case MASTER:
7260 case DATA:
7261 case SOURCE:
7262 case FILE:
7263 case FORMAT:
7264 case LIBRARY:
7265 case FULLTEXT:
7266 case MASK:
7267 case UNMASK:
7268 case MESSAGE:
7269 case REMOTE:
7270 case BINDING:
7271 case ROUTE:
7272 case SECURITY:
7273 case POLICY:
7274 case AGGREGATE:
7275 case QUEUE:
7276 case RULE:
7277 case SYNONYM:
7278 case COLLECTION:
7279 case SCRIPT:
7280 case KILL:
7281 case BACKUP:
7282 case LOG:
7283 case SHOWPLAN:
7284 case SUBSCRIBE:
7285 case QUERY:
7286 case NOTIFICATIONS:
7287 case CHECKPOINT:
7288 case SEQUENCE:
7289 case ABORT_AFTER_WAIT:
7290 case ALLOW_PAGE_LOCKS:
7291 case ALLOW_ROW_LOCKS:
7292 case ALL_SPARSE_COLUMNS:
7293 case BUCKET_COUNT:
7294 case COLUMNSTORE_ARCHIVE:
7295 case COLUMN_ENCRYPTION_KEY:
7296 case COLUMN_SET:
7297 case COMPRESSION_DELAY:
7298 case DATABASE_DEAULT:
7299 case DATA_COMPRESSION:
7300 case DATA_CONSISTENCY_CHECK:
7301 case ENCRYPTION_TYPE:
7302 case SYSTEM_TIME:
7303 case SYSTEM_VERSIONING:
7304 case TEXTIMAGE_ON:
7305 case WAIT_AT_LOW_PRIORITY:
7306 case STATISTICS_INCREMENTAL:
7307 case STATISTICS_NORECOMPUTE:
7308 case ROUND_ROBIN:
7309 case SCHEMA_AND_DATA:
7310 case SCHEMA_ONLY:
7311 case SORT_IN_TEMPDB:
7312 case IGNORE_DUP_KEY:
7313 case IMPLICIT_TRANSACTIONS:
7314 case MAX_DURATION:
7315 case MEMORY_OPTIMIZED:
7316 case MIGRATION_STATE:
7317 case PAD_INDEX:
7318 case REMOTE_DATA_ARCHIVE:
7319 case FILESTREAM_ON:
7320 case FILETABLE_COLLATE_FILENAME:
7321 case FILETABLE_DIRECTORY:
7322 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
7323 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
7324 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
7325 case FILTER_PREDICATE:
7326 case HISTORY_RETENTION_PERIOD:
7327 case HISTORY_TABLE:
7328 case LOCK_ESCALATION:
7329 case DROP_EXISTING:
7330 case ROW_NUMBER:
7331 case FIRST:
7332 case DATETIME2:
7333 case OUTPUT:
7334 case INSERTED:
7335 case DELETED:
7336 case FILENAME:
7337 case SIZE:
7338 case MAXSIZE:
7339 case FILEGROWTH:
7340 case UNLIMITED:
7341 case KB:
7342 case MB:
7343 case GB:
7344 case TB:
7345 case CONTAINS:
7346 case MEMORY_OPTIMIZED_DATA:
7347 case FILEGROUP:
7348 case NON_TRANSACTED_ACCESS:
7349 case DB_CHAINING:
7350 case TRUSTWORTHY:
7351 case FORWARD_ONLY:
7352 case KEYSET:
7353 case FAST_FORWARD:
7354 case SCROLL_LOCKS:
7355 case OPTIMISTIC:
7356 case TYPE_WARNING:
7357 case SCHEMABINDING:
7358 case CALLER:
7359 case OWNER:
7360 case SNAPSHOT:
7361 case REPEATABLE:
7362 case SERIALIZABLE:
7363 case NATIVE_COMPILATION:
7364 case VIEW_METADATA:
7365 case INSTEAD:
7366 case APPEND:
7367 case INCREMENT:
7368 case CACHE:
7369 case MINVALUE:
7370 case MAXVALUE:
7371 case RESTART:
7372 case LOB_COMPACTION:
7373 case COMPRESS_ALL_ROW_GROUPS:
7374 case REORGANIZE:
7375 case RESUME:
7376 case PAUSE:
7377 case ABORT:
7378 case ACCELERATED_DATABASE_RECOVERY:
7379 case PERSISTENT_VERSION_STORE_FILEGROUP:
7380 case IMMEDIATE:
7381 case NO_WAIT:
7382 case TARGET_RECOVERY_TIME:
7383 case SECONDS:
7384 case HONOR_BROKER_PRIORITY:
7385 case ERROR_BROKER_CONVERSATIONS:
7386 case NEW_BROKER:
7387 case DISABLE_BROKER:
7388 case ENABLE_BROKER:
7389 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
7390 case READ_COMMITTED_SNAPSHOT:
7391 case ALLOW_SNAPSHOT_ISOLATION:
7392 case RECURSIVE_TRIGGERS:
7393 case QUOTED_IDENTIFIER:
7394 case NUMERIC_ROUNDABORT:
7395 case CONCAT_NULL_YIELDS_NULL:
7396 case COMPATIBILITY_LEVEL:
7397 case ARITHABORT:
7398 case ANSI_WARNINGS:
7399 case ANSI_PADDING:
7400 case ANSI_NULLS:
7401 case ANSI_NULL_DEFAULT:
7402 case PAGE_VERIFY:
7403 case CHECKSUM:
7404 case TORN_PAGE_DETECTION:
7405 case BULK_LOGGED:
7406 case RECOVERY:
7407 case TOTAL_EXECUTION_CPU_TIME_MS:
7408 case TOTAL_COMPILE_CPU_TIME_MS:
7409 case STALE_CAPTURE_POLICY_THRESHOLD:
7410 case EXECUTION_COUNT:
7411 case QUERY_CAPTURE_POLICY:
7412 case WAIT_STATS_CAPTURE_MODE:
7413 case MAX_PLANS_PER_QUERY:
7414 case QUERY_CAPTURE_MODE:
7415 case SIZE_BASED_CLEANUP_MODE:
7416 case INTERVAL_LENGTH_MINUTES:
7417 case MAX_STORAGE_SIZE_MB:
7418 case DATA_FLUSH_INTERVAL_SECONDS:
7419 case CLEANUP_POLICY:
7420 case CUSTOM:
7421 case STALE_QUERY_THRESHOLD_DAYS:
7422 case OPERATION_MODE:
7423 case QUERY_STORE:
7424 case CURSOR_DEFAULT:
7425 case GLOBAL:
7426 case CURSOR_CLOSE_ON_COMMIT:
7427 case HOURS:
7428 case CHANGE_RETENTION:
7429 case AUTO_CLEANUP:
7430 case CHANGE_TRACKING:
7431 case AUTOMATIC_TUNING:
7432 case FORCE_LAST_GOOD_PLAN:
7433 case AUTO_UPDATE_STATISTICS_ASYNC:
7434 case AUTO_UPDATE_STATISTICS:
7435 case AUTO_SHRINK:
7436 case AUTO_CREATE_STATISTICS:
7437 case INCREMENTAL:
7438 case AUTO_CLOSE:
7439 case DATA_RETENTION:
7440 case TEMPORAL_HISTORY_RETENTION:
7441 case EDITION:
7442 case MIXED_PAGE_ALLOCATION:
7443 case DISABLED:
7444 case ALLOWED:
7445 case HADR:
7446 case MULTI_USER:
7447 case RESTRICTED_USER:
7448 case SINGLE_USER:
7449 case OFFLINE:
7450 case EMERGENCY:
7451 case SUSPEND:
7452 case DATE_CORRELATION_OPTIMIZATION:
7453 case ELASTIC_POOL:
7454 case SERVICE_OBJECTIVE:
7455 case DATABASE_NAME:
7456 case ALLOW_CONNECTIONS:
7457 case GEO:
7458 case NAMED:
7459 case DATEFIRST:
7460 case BACKUP_STORAGE_REDUNDANCY:
7461 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
7462 case SECONDARY:
7463 case FAILOVER:
7464 case DEFAULT_FULLTEXT_LANGUAGE:
7465 case DEFAULT_LANGUAGE:
7466 case INLINE:
7467 case NESTED_TRIGGERS:
7468 case TRANSFORM_NOISE_WORDS:
7469 case TWO_DIGIT_YEAR_CUTOFF:
7470 case PERSISTENT_LOG_BUFFER:
7471 case DIRECTORY_NAME:
7472 case DATEFORMAT:
7473 case DELAYED_DURABILITY:
7474 case AUTHORIZATION:
7475 case TRANSFER:
7476 case PROVIDER:
7477 case SEARCH:
7478 case MEMBER:
7479 case OPENJSON:
7480 case OPENROWSET:
7481 case IDENTIFIER_:
7482 case DELIMITED_IDENTIFIER_:
7483 case STRING_:
7484 case NUMBER_:
7485 case HEX_DIGIT_:
7486 case BIT_NUM_:
7487 case NCHAR_TEXT:
7488 {
7489 setState(1531);
7490 expr(0);
7491 setState(1536);
7492 _errHandler.sync(this);
7493 _la = _input.LA(1);
7494 while (_la==COMMA_) {
7495 {
7496 {
7497 setState(1532);
7498 match(COMMA_);
7499 setState(1533);
7500 expr(0);
7501 }
7502 }
7503 setState(1538);
7504 _errHandler.sync(this);
7505 _la = _input.LA(1);
7506 }
7507 }
7508 break;
7509 case ASTERISK_:
7510 {
7511 setState(1539);
7512 match(ASTERISK_);
7513 }
7514 break;
7515 case RP_:
7516 break;
7517 default:
7518 break;
7519 }
7520 setState(1542);
7521 match(RP_);
7522 }
7523 }
7524 catch (RecognitionException re) {
7525 _localctx.exception = re;
7526 _errHandler.reportError(this, re);
7527 _errHandler.recover(this, re);
7528 }
7529 finally {
7530 exitRule();
7531 }
7532 return _localctx;
7533 }
7534
7535 public static class AggregationFunctionNameContext extends ParserRuleContext {
7536 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
7537 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
7538 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
7539 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
7540 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
7541 public AggregationFunctionNameContext(ParserRuleContext parent, int invokingState) {
7542 super(parent, invokingState);
7543 }
7544 @Override public int getRuleIndex() { return RULE_aggregationFunctionName; }
7545 @Override
7546 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7547 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunctionName(this);
7548 else return visitor.visitChildren(this);
7549 }
7550 }
7551
7552 public final AggregationFunctionNameContext aggregationFunctionName() throws RecognitionException {
7553 AggregationFunctionNameContext _localctx = new AggregationFunctionNameContext(_ctx, getState());
7554 enterRule(_localctx, 122, RULE_aggregationFunctionName);
7555 int _la;
7556 try {
7557 enterOuterAlt(_localctx, 1);
7558 {
7559 setState(1544);
7560 _la = _input.LA(1);
7561 if ( !(((((_la - 149)) & ~0x3f) == 0 && ((1L << (_la - 149)) & ((1L << (MAX - 149)) | (1L << (MIN - 149)) | (1L << (SUM - 149)) | (1L << (COUNT - 149)) | (1L << (AVG - 149)))) != 0)) ) {
7562 _errHandler.recoverInline(this);
7563 }
7564 else {
7565 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7566 _errHandler.reportMatch(this);
7567 consume();
7568 }
7569 }
7570 }
7571 catch (RecognitionException re) {
7572 _localctx.exception = re;
7573 _errHandler.reportError(this, re);
7574 _errHandler.recover(this, re);
7575 }
7576 finally {
7577 exitRule();
7578 }
7579 return _localctx;
7580 }
7581
7582 public static class DistinctContext extends ParserRuleContext {
7583 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
7584 public DistinctContext(ParserRuleContext parent, int invokingState) {
7585 super(parent, invokingState);
7586 }
7587 @Override public int getRuleIndex() { return RULE_distinct; }
7588 @Override
7589 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7590 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistinct(this);
7591 else return visitor.visitChildren(this);
7592 }
7593 }
7594
7595 public final DistinctContext distinct() throws RecognitionException {
7596 DistinctContext _localctx = new DistinctContext(_ctx, getState());
7597 enterRule(_localctx, 124, RULE_distinct);
7598 try {
7599 enterOuterAlt(_localctx, 1);
7600 {
7601 setState(1546);
7602 match(DISTINCT);
7603 }
7604 }
7605 catch (RecognitionException re) {
7606 _localctx.exception = re;
7607 _errHandler.reportError(this, re);
7608 _errHandler.recover(this, re);
7609 }
7610 finally {
7611 exitRule();
7612 }
7613 return _localctx;
7614 }
7615
7616 public static class SpecialFunctionContext extends ParserRuleContext {
7617 public CastFunctionContext castFunction() {
7618 return getRuleContext(CastFunctionContext.class,0);
7619 }
7620 public CharFunctionContext charFunction() {
7621 return getRuleContext(CharFunctionContext.class,0);
7622 }
7623 public ConvertFunctionContext convertFunction() {
7624 return getRuleContext(ConvertFunctionContext.class,0);
7625 }
7626 public OpenJsonFunctionContext openJsonFunction() {
7627 return getRuleContext(OpenJsonFunctionContext.class,0);
7628 }
7629 public OpenRowSetFunctionContext openRowSetFunction() {
7630 return getRuleContext(OpenRowSetFunctionContext.class,0);
7631 }
7632 public SpecialFunctionContext(ParserRuleContext parent, int invokingState) {
7633 super(parent, invokingState);
7634 }
7635 @Override public int getRuleIndex() { return RULE_specialFunction; }
7636 @Override
7637 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7638 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSpecialFunction(this);
7639 else return visitor.visitChildren(this);
7640 }
7641 }
7642
7643 public final SpecialFunctionContext specialFunction() throws RecognitionException {
7644 SpecialFunctionContext _localctx = new SpecialFunctionContext(_ctx, getState());
7645 enterRule(_localctx, 126, RULE_specialFunction);
7646 try {
7647 setState(1553);
7648 _errHandler.sync(this);
7649 switch (_input.LA(1)) {
7650 case CAST:
7651 enterOuterAlt(_localctx, 1);
7652 {
7653 setState(1548);
7654 castFunction();
7655 }
7656 break;
7657 case CHAR:
7658 enterOuterAlt(_localctx, 2);
7659 {
7660 setState(1549);
7661 charFunction();
7662 }
7663 break;
7664 case CONVERT:
7665 enterOuterAlt(_localctx, 3);
7666 {
7667 setState(1550);
7668 convertFunction();
7669 }
7670 break;
7671 case OPENJSON:
7672 enterOuterAlt(_localctx, 4);
7673 {
7674 setState(1551);
7675 openJsonFunction();
7676 }
7677 break;
7678 case OPENROWSET:
7679 enterOuterAlt(_localctx, 5);
7680 {
7681 setState(1552);
7682 openRowSetFunction();
7683 }
7684 break;
7685 default:
7686 throw new NoViableAltException(this);
7687 }
7688 }
7689 catch (RecognitionException re) {
7690 _localctx.exception = re;
7691 _errHandler.reportError(this, re);
7692 _errHandler.recover(this, re);
7693 }
7694 finally {
7695 exitRule();
7696 }
7697 return _localctx;
7698 }
7699
7700 public static class CastFunctionContext extends ParserRuleContext {
7701 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
7702 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7703 public ExprContext expr() {
7704 return getRuleContext(ExprContext.class,0);
7705 }
7706 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
7707 public DataTypeContext dataType() {
7708 return getRuleContext(DataTypeContext.class,0);
7709 }
7710 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7711 public CastFunctionContext(ParserRuleContext parent, int invokingState) {
7712 super(parent, invokingState);
7713 }
7714 @Override public int getRuleIndex() { return RULE_castFunction; }
7715 @Override
7716 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7717 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastFunction(this);
7718 else return visitor.visitChildren(this);
7719 }
7720 }
7721
7722 public final CastFunctionContext castFunction() throws RecognitionException {
7723 CastFunctionContext _localctx = new CastFunctionContext(_ctx, getState());
7724 enterRule(_localctx, 128, RULE_castFunction);
7725 try {
7726 enterOuterAlt(_localctx, 1);
7727 {
7728 setState(1555);
7729 match(CAST);
7730 setState(1556);
7731 match(LP_);
7732 setState(1557);
7733 expr(0);
7734 setState(1558);
7735 match(AS);
7736 setState(1559);
7737 dataType();
7738 setState(1560);
7739 match(RP_);
7740 }
7741 }
7742 catch (RecognitionException re) {
7743 _localctx.exception = re;
7744 _errHandler.reportError(this, re);
7745 _errHandler.recover(this, re);
7746 }
7747 finally {
7748 exitRule();
7749 }
7750 return _localctx;
7751 }
7752
7753 public static class ConvertFunctionContext extends ParserRuleContext {
7754 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
7755 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7756 public DataTypeContext dataType() {
7757 return getRuleContext(DataTypeContext.class,0);
7758 }
7759 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7760 public TerminalNode COMMA_(int i) {
7761 return getToken(SQLServerStatementParser.COMMA_, i);
7762 }
7763 public ExprContext expr() {
7764 return getRuleContext(ExprContext.class,0);
7765 }
7766 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7767 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
7768 public ConvertFunctionContext(ParserRuleContext parent, int invokingState) {
7769 super(parent, invokingState);
7770 }
7771 @Override public int getRuleIndex() { return RULE_convertFunction; }
7772 @Override
7773 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7774 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertFunction(this);
7775 else return visitor.visitChildren(this);
7776 }
7777 }
7778
7779 public final ConvertFunctionContext convertFunction() throws RecognitionException {
7780 ConvertFunctionContext _localctx = new ConvertFunctionContext(_ctx, getState());
7781 enterRule(_localctx, 130, RULE_convertFunction);
7782 int _la;
7783 try {
7784 enterOuterAlt(_localctx, 1);
7785 {
7786 setState(1562);
7787 match(CONVERT);
7788 setState(1563);
7789 match(LP_);
7790 setState(1564);
7791 dataType();
7792 setState(1565);
7793 match(COMMA_);
7794 setState(1566);
7795 expr(0);
7796 setState(1569);
7797 _errHandler.sync(this);
7798 _la = _input.LA(1);
7799 if (_la==COMMA_) {
7800 {
7801 setState(1567);
7802 match(COMMA_);
7803 setState(1568);
7804 match(NUMBER_);
7805 }
7806 }
7807
7808 setState(1571);
7809 match(RP_);
7810 }
7811 }
7812 catch (RecognitionException re) {
7813 _localctx.exception = re;
7814 _errHandler.reportError(this, re);
7815 _errHandler.recover(this, re);
7816 }
7817 finally {
7818 exitRule();
7819 }
7820 return _localctx;
7821 }
7822
7823 public static class CharFunctionContext extends ParserRuleContext {
7824 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
7825 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7826 public List<ExprContext> expr() {
7827 return getRuleContexts(ExprContext.class);
7828 }
7829 public ExprContext expr(int i) {
7830 return getRuleContext(ExprContext.class,i);
7831 }
7832 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7833 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7834 public TerminalNode COMMA_(int i) {
7835 return getToken(SQLServerStatementParser.COMMA_, i);
7836 }
7837 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
7838 public IgnoredIdentifierContext ignoredIdentifier() {
7839 return getRuleContext(IgnoredIdentifierContext.class,0);
7840 }
7841 public CharFunctionContext(ParserRuleContext parent, int invokingState) {
7842 super(parent, invokingState);
7843 }
7844 @Override public int getRuleIndex() { return RULE_charFunction; }
7845 @Override
7846 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7847 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCharFunction(this);
7848 else return visitor.visitChildren(this);
7849 }
7850 }
7851
7852 public final CharFunctionContext charFunction() throws RecognitionException {
7853 CharFunctionContext _localctx = new CharFunctionContext(_ctx, getState());
7854 enterRule(_localctx, 132, RULE_charFunction);
7855 int _la;
7856 try {
7857 enterOuterAlt(_localctx, 1);
7858 {
7859 setState(1573);
7860 match(CHAR);
7861 setState(1574);
7862 match(LP_);
7863 setState(1575);
7864 expr(0);
7865 setState(1580);
7866 _errHandler.sync(this);
7867 _la = _input.LA(1);
7868 while (_la==COMMA_) {
7869 {
7870 {
7871 setState(1576);
7872 match(COMMA_);
7873 setState(1577);
7874 expr(0);
7875 }
7876 }
7877 setState(1582);
7878 _errHandler.sync(this);
7879 _la = _input.LA(1);
7880 }
7881 setState(1585);
7882 _errHandler.sync(this);
7883 _la = _input.LA(1);
7884 if (_la==USING) {
7885 {
7886 setState(1583);
7887 match(USING);
7888 setState(1584);
7889 ignoredIdentifier();
7890 }
7891 }
7892
7893 setState(1587);
7894 match(RP_);
7895 }
7896 }
7897 catch (RecognitionException re) {
7898 _localctx.exception = re;
7899 _errHandler.reportError(this, re);
7900 _errHandler.recover(this, re);
7901 }
7902 finally {
7903 exitRule();
7904 }
7905 return _localctx;
7906 }
7907
7908 public static class OpenJsonFunctionContext extends ParserRuleContext {
7909 public TerminalNode OPENJSON() { return getToken(SQLServerStatementParser.OPENJSON, 0); }
7910 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7911 public List<ExprContext> expr() {
7912 return getRuleContexts(ExprContext.class);
7913 }
7914 public ExprContext expr(int i) {
7915 return getRuleContext(ExprContext.class,i);
7916 }
7917 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7918 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
7919 public OpenJsonWithclauseContext openJsonWithclause() {
7920 return getRuleContext(OpenJsonWithclauseContext.class,0);
7921 }
7922 public OpenJsonFunctionContext(ParserRuleContext parent, int invokingState) {
7923 super(parent, invokingState);
7924 }
7925 @Override public int getRuleIndex() { return RULE_openJsonFunction; }
7926 @Override
7927 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7928 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenJsonFunction(this);
7929 else return visitor.visitChildren(this);
7930 }
7931 }
7932
7933 public final OpenJsonFunctionContext openJsonFunction() throws RecognitionException {
7934 OpenJsonFunctionContext _localctx = new OpenJsonFunctionContext(_ctx, getState());
7935 enterRule(_localctx, 134, RULE_openJsonFunction);
7936 int _la;
7937 try {
7938 enterOuterAlt(_localctx, 1);
7939 {
7940 setState(1589);
7941 match(OPENJSON);
7942 setState(1590);
7943 match(LP_);
7944 setState(1591);
7945 expr(0);
7946 setState(1594);
7947 _errHandler.sync(this);
7948 _la = _input.LA(1);
7949 if (_la==COMMA_) {
7950 {
7951 setState(1592);
7952 match(COMMA_);
7953 setState(1593);
7954 expr(0);
7955 }
7956 }
7957
7958 setState(1596);
7959 match(RP_);
7960 setState(1598);
7961 _errHandler.sync(this);
7962 switch ( getInterpreter().adaptivePredict(_input,71,_ctx) ) {
7963 case 1:
7964 {
7965 setState(1597);
7966 openJsonWithclause();
7967 }
7968 break;
7969 }
7970 }
7971 }
7972 catch (RecognitionException re) {
7973 _localctx.exception = re;
7974 _errHandler.reportError(this, re);
7975 _errHandler.recover(this, re);
7976 }
7977 finally {
7978 exitRule();
7979 }
7980 return _localctx;
7981 }
7982
7983 public static class OpenJsonWithclauseContext extends ParserRuleContext {
7984 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
7985 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7986 public List<JsonColumnDefinitionContext> jsonColumnDefinition() {
7987 return getRuleContexts(JsonColumnDefinitionContext.class);
7988 }
7989 public JsonColumnDefinitionContext jsonColumnDefinition(int i) {
7990 return getRuleContext(JsonColumnDefinitionContext.class,i);
7991 }
7992 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7993 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7994 public TerminalNode COMMA_(int i) {
7995 return getToken(SQLServerStatementParser.COMMA_, i);
7996 }
7997 public OpenJsonWithclauseContext(ParserRuleContext parent, int invokingState) {
7998 super(parent, invokingState);
7999 }
8000 @Override public int getRuleIndex() { return RULE_openJsonWithclause; }
8001 @Override
8002 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8003 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenJsonWithclause(this);
8004 else return visitor.visitChildren(this);
8005 }
8006 }
8007
8008 public final OpenJsonWithclauseContext openJsonWithclause() throws RecognitionException {
8009 OpenJsonWithclauseContext _localctx = new OpenJsonWithclauseContext(_ctx, getState());
8010 enterRule(_localctx, 136, RULE_openJsonWithclause);
8011 int _la;
8012 try {
8013 enterOuterAlt(_localctx, 1);
8014 {
8015 setState(1600);
8016 match(WITH);
8017 setState(1601);
8018 match(LP_);
8019 setState(1602);
8020 jsonColumnDefinition();
8021 setState(1607);
8022 _errHandler.sync(this);
8023 _la = _input.LA(1);
8024 while (_la==COMMA_) {
8025 {
8026 {
8027 setState(1603);
8028 match(COMMA_);
8029 setState(1604);
8030 jsonColumnDefinition();
8031 }
8032 }
8033 setState(1609);
8034 _errHandler.sync(this);
8035 _la = _input.LA(1);
8036 }
8037 setState(1610);
8038 match(RP_);
8039 }
8040 }
8041 catch (RecognitionException re) {
8042 _localctx.exception = re;
8043 _errHandler.reportError(this, re);
8044 _errHandler.recover(this, re);
8045 }
8046 finally {
8047 exitRule();
8048 }
8049 return _localctx;
8050 }
8051
8052 public static class JsonColumnDefinitionContext extends ParserRuleContext {
8053 public ColumnNameContext columnName() {
8054 return getRuleContext(ColumnNameContext.class,0);
8055 }
8056 public DataTypeContext dataType() {
8057 return getRuleContext(DataTypeContext.class,0);
8058 }
8059 public ExprContext expr() {
8060 return getRuleContext(ExprContext.class,0);
8061 }
8062 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
8063 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
8064 public JsonColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
8065 super(parent, invokingState);
8066 }
8067 @Override public int getRuleIndex() { return RULE_jsonColumnDefinition; }
8068 @Override
8069 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8070 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonColumnDefinition(this);
8071 else return visitor.visitChildren(this);
8072 }
8073 }
8074
8075 public final JsonColumnDefinitionContext jsonColumnDefinition() throws RecognitionException {
8076 JsonColumnDefinitionContext _localctx = new JsonColumnDefinitionContext(_ctx, getState());
8077 enterRule(_localctx, 138, RULE_jsonColumnDefinition);
8078 int _la;
8079 try {
8080 enterOuterAlt(_localctx, 1);
8081 {
8082 setState(1612);
8083 columnName();
8084 setState(1613);
8085 dataType();
8086 setState(1615);
8087 _errHandler.sync(this);
8088 _la = _input.LA(1);
8089 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NOT - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)) | (1L << (BLOCKERS - 203)) | (1L << (CLUSTERED - 203)) | (1L << (NONCLUSTERED - 203)) | (1L << (COLUMNSTORE - 203)) | (1L << (CONTENT - 203)) | (1L << (CONVERT - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)) | (1L << (CONTROL - 267)) | (1L << (CONCAT - 267)) | (1L << (TAKE - 267)) | (1L << (OWNERSHIP - 267)) | (1L << (DEFINITION - 267)) | (1L << (APPLICATION - 267)) | (1L << (ASSEMBLY - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (SYMMETRIC - 331)) | (1L << (ASYMMETRIC - 331)) | (1L << (SERVER - 331)) | (1L << (RECEIVE - 331)) | (1L << (CHANGE - 331)) | (1L << (TRACE - 331)) | (1L << (TRACKING - 331)) | (1L << (RESOURCES - 331)) | (1L << (SETTINGS - 331)) | (1L << (STATE - 331)) | (1L << (AVAILABILITY - 331)) | (1L << (CREDENTIAL - 331)) | (1L << (ENDPOINT - 331)) | (1L << (EVENT - 331)) | (1L << (NOTIFICATION - 331)) | (1L << (LINKED - 331)) | (1L << (AUDIT - 331)) | (1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)) | (1L << (KILL - 331)) | (1L << (BACKUP - 331)) | (1L << (LOG - 331)) | (1L << (SHOWPLAN - 331)) | (1L << (SUBSCRIBE - 331)) | (1L << (QUERY - 331)) | (1L << (NOTIFICATIONS - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (CHECKPOINT - 395)) | (1L << (SEQUENCE - 395)) | (1L << (ABORT_AFTER_WAIT - 395)) | (1L << (ALLOW_PAGE_LOCKS - 395)) | (1L << (ALLOW_ROW_LOCKS - 395)) | (1L << (ALL_SPARSE_COLUMNS - 395)) | (1L << (BUCKET_COUNT - 395)) | (1L << (COLUMNSTORE_ARCHIVE - 395)) | (1L << (COLUMN_ENCRYPTION_KEY - 395)) | (1L << (COLUMN_SET - 395)) | (1L << (COMPRESSION_DELAY - 395)) | (1L << (DATABASE_DEAULT - 395)) | (1L << (DATA_COMPRESSION - 395)) | (1L << (DATA_CONSISTENCY_CHECK - 395)) | (1L << (ENCRYPTION_TYPE - 395)) | (1L << (SYSTEM_TIME - 395)) | (1L << (SYSTEM_VERSIONING - 395)) | (1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)) | (1L << (OUTPUT - 395)))) != 0) || ((((_la - 459)) & ~0x3f) == 0 && ((1L << (_la - 459)) & ((1L << (INSERTED - 459)) | (1L << (DELETED - 459)) | (1L << (FILENAME - 459)) | (1L << (SIZE - 459)) | (1L << (MAXSIZE - 459)) | (1L << (FILEGROWTH - 459)) | (1L << (UNLIMITED - 459)) | (1L << (KB - 459)) | (1L << (MB - 459)) | (1L << (GB - 459)) | (1L << (TB - 459)) | (1L << (CONTAINS - 459)) | (1L << (MEMORY_OPTIMIZED_DATA - 459)) | (1L << (FILEGROUP - 459)) | (1L << (NON_TRANSACTED_ACCESS - 459)) | (1L << (DB_CHAINING - 459)) | (1L << (TRUSTWORTHY - 459)) | (1L << (FORWARD_ONLY - 459)) | (1L << (KEYSET - 459)) | (1L << (FAST_FORWARD - 459)) | (1L << (SCROLL_LOCKS - 459)) | (1L << (OPTIMISTIC - 459)) | (1L << (TYPE_WARNING - 459)) | (1L << (SCHEMABINDING - 459)) | (1L << (CALLER - 459)))) != 0) || ((((_la - 527)) & ~0x3f) == 0 && ((1L << (_la - 527)) & ((1L << (OWNER - 527)) | (1L << (SNAPSHOT - 527)) | (1L << (REPEATABLE - 527)) | (1L << (SERIALIZABLE - 527)) | (1L << (NATIVE_COMPILATION - 527)) | (1L << (VIEW_METADATA - 527)) | (1L << (INSTEAD - 527)) | (1L << (APPEND - 527)) | (1L << (INCREMENT - 527)) | (1L << (CACHE - 527)) | (1L << (MINVALUE - 527)) | (1L << (MAXVALUE - 527)) | (1L << (RESTART - 527)) | (1L << (LOB_COMPACTION - 527)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 527)) | (1L << (REORGANIZE - 527)) | (1L << (RESUME - 527)) | (1L << (PAUSE - 527)) | (1L << (ABORT - 527)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 527)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 527)) | (1L << (IMMEDIATE - 527)) | (1L << (NO_WAIT - 527)) | (1L << (TARGET_RECOVERY_TIME - 527)) | (1L << (SECONDS - 527)) | (1L << (HONOR_BROKER_PRIORITY - 527)) | (1L << (ERROR_BROKER_CONVERSATIONS - 527)) | (1L << (NEW_BROKER - 527)) | (1L << (DISABLE_BROKER - 527)) | (1L << (ENABLE_BROKER - 527)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 527)) | (1L << (READ_COMMITTED_SNAPSHOT - 527)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 527)) | (1L << (RECURSIVE_TRIGGERS - 527)) | (1L << (QUOTED_IDENTIFIER - 527)) | (1L << (NUMERIC_ROUNDABORT - 527)) | (1L << (CONCAT_NULL_YIELDS_NULL - 527)) | (1L << (COMPATIBILITY_LEVEL - 527)) | (1L << (ARITHABORT - 527)) | (1L << (ANSI_WARNINGS - 527)) | (1L << (ANSI_PADDING - 527)) | (1L << (ANSI_NULLS - 527)) | (1L << (ANSI_NULL_DEFAULT - 527)) | (1L << (PAGE_VERIFY - 527)) | (1L << (CHECKSUM - 527)) | (1L << (TORN_PAGE_DETECTION - 527)) | (1L << (BULK_LOGGED - 527)))) != 0) || ((((_la - 591)) & ~0x3f) == 0 && ((1L << (_la - 591)) & ((1L << (RECOVERY - 591)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 591)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 591)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 591)) | (1L << (EXECUTION_COUNT - 591)) | (1L << (QUERY_CAPTURE_POLICY - 591)) | (1L << (WAIT_STATS_CAPTURE_MODE - 591)) | (1L << (MAX_PLANS_PER_QUERY - 591)) | (1L << (QUERY_CAPTURE_MODE - 591)) | (1L << (SIZE_BASED_CLEANUP_MODE - 591)) | (1L << (INTERVAL_LENGTH_MINUTES - 591)) | (1L << (MAX_STORAGE_SIZE_MB - 591)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 591)) | (1L << (CLEANUP_POLICY - 591)) | (1L << (CUSTOM - 591)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 591)) | (1L << (OPERATION_MODE - 591)) | (1L << (QUERY_STORE - 591)) | (1L << (CURSOR_DEFAULT - 591)) | (1L << (GLOBAL - 591)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 591)) | (1L << (HOURS - 591)) | (1L << (CHANGE_RETENTION - 591)) | (1L << (AUTO_CLEANUP - 591)) | (1L << (CHANGE_TRACKING - 591)) | (1L << (AUTOMATIC_TUNING - 591)) | (1L << (FORCE_LAST_GOOD_PLAN - 591)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 591)) | (1L << (AUTO_UPDATE_STATISTICS - 591)) | (1L << (AUTO_SHRINK - 591)) | (1L << (AUTO_CREATE_STATISTICS - 591)) | (1L << (INCREMENTAL - 591)) | (1L << (AUTO_CLOSE - 591)) | (1L << (DATA_RETENTION - 591)) | (1L << (TEMPORAL_HISTORY_RETENTION - 591)) | (1L << (EDITION - 591)) | (1L << (MIXED_PAGE_ALLOCATION - 591)) | (1L << (DISABLED - 591)) | (1L << (ALLOWED - 591)) | (1L << (HADR - 591)) | (1L << (MULTI_USER - 591)) | (1L << (RESTRICTED_USER - 591)) | (1L << (SINGLE_USER - 591)) | (1L << (OFFLINE - 591)) | (1L << (EMERGENCY - 591)) | (1L << (SUSPEND - 591)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 591)) | (1L << (ELASTIC_POOL - 591)) | (1L << (SERVICE_OBJECTIVE - 591)) | (1L << (DATABASE_NAME - 591)) | (1L << (ALLOW_CONNECTIONS - 591)) | (1L << (GEO - 591)) | (1L << (NAMED - 591)) | (1L << (DATEFIRST - 591)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 591)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 591)) | (1L << (SECONDARY - 591)) | (1L << (FAILOVER - 591)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 591)) | (1L << (DEFAULT_LANGUAGE - 591)) | (1L << (INLINE - 591)) | (1L << (NESTED_TRIGGERS - 591)) | (1L << (TRANSFORM_NOISE_WORDS - 591)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 591)))) != 0) || ((((_la - 655)) & ~0x3f) == 0 && ((1L << (_la - 655)) & ((1L << (PERSISTENT_LOG_BUFFER - 655)) | (1L << (DIRECTORY_NAME - 655)) | (1L << (DATEFORMAT - 655)) | (1L << (DELAYED_DURABILITY - 655)) | (1L << (AUTHORIZATION - 655)) | (1L << (TRANSFER - 655)) | (1L << (PROVIDER - 655)) | (1L << (SEARCH - 655)) | (1L << (MEMBER - 655)) | (1L << (OPENJSON - 655)) | (1L << (OPENROWSET - 655)) | (1L << (IDENTIFIER_ - 655)) | (1L << (DELIMITED_IDENTIFIER_ - 655)) | (1L << (STRING_ - 655)) | (1L << (NUMBER_ - 655)))) != 0) || ((((_la - 719)) & ~0x3f) == 0 && ((1L << (_la - 719)) & ((1L << (HEX_DIGIT_ - 719)) | (1L << (BIT_NUM_ - 719)) | (1L << (NCHAR_TEXT - 719)))) != 0)) {
8090 {
8091 setState(1614);
8092 expr(0);
8093 }
8094 }
8095
8096 setState(1619);
8097 _errHandler.sync(this);
8098 _la = _input.LA(1);
8099 if (_la==AS) {
8100 {
8101 setState(1617);
8102 match(AS);
8103 setState(1618);
8104 match(JSON);
8105 }
8106 }
8107
8108 }
8109 }
8110 catch (RecognitionException re) {
8111 _localctx.exception = re;
8112 _errHandler.reportError(this, re);
8113 _errHandler.recover(this, re);
8114 }
8115 finally {
8116 exitRule();
8117 }
8118 return _localctx;
8119 }
8120
8121 public static class OpenRowSetFunctionContext extends ParserRuleContext {
8122 public TerminalNode OPENROWSET() { return getToken(SQLServerStatementParser.OPENROWSET, 0); }
8123 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8124 public List<ExprContext> expr() {
8125 return getRuleContexts(ExprContext.class);
8126 }
8127 public ExprContext expr(int i) {
8128 return getRuleContext(ExprContext.class,i);
8129 }
8130 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8131 public TerminalNode COMMA_(int i) {
8132 return getToken(SQLServerStatementParser.COMMA_, i);
8133 }
8134 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8135 public TableNameContext tableName() {
8136 return getRuleContext(TableNameContext.class,0);
8137 }
8138 public List<TerminalNode> SEMI_() { return getTokens(SQLServerStatementParser.SEMI_); }
8139 public TerminalNode SEMI_(int i) {
8140 return getToken(SQLServerStatementParser.SEMI_, i);
8141 }
8142 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
8143 public OpenRowSetFunctionContext(ParserRuleContext parent, int invokingState) {
8144 super(parent, invokingState);
8145 }
8146 @Override public int getRuleIndex() { return RULE_openRowSetFunction; }
8147 @Override
8148 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8149 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenRowSetFunction(this);
8150 else return visitor.visitChildren(this);
8151 }
8152 }
8153
8154 public final OpenRowSetFunctionContext openRowSetFunction() throws RecognitionException {
8155 OpenRowSetFunctionContext _localctx = new OpenRowSetFunctionContext(_ctx, getState());
8156 enterRule(_localctx, 140, RULE_openRowSetFunction);
8157 int _la;
8158 try {
8159 setState(1654);
8160 _errHandler.sync(this);
8161 switch ( getInterpreter().adaptivePredict(_input,78,_ctx) ) {
8162 case 1:
8163 enterOuterAlt(_localctx, 1);
8164 {
8165 setState(1621);
8166 match(OPENROWSET);
8167 setState(1622);
8168 match(LP_);
8169 setState(1623);
8170 expr(0);
8171 setState(1624);
8172 match(COMMA_);
8173 setState(1632);
8174 _errHandler.sync(this);
8175 switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) {
8176 case 1:
8177 {
8178 {
8179 setState(1625);
8180 expr(0);
8181 setState(1626);
8182 match(SEMI_);
8183 setState(1627);
8184 expr(0);
8185 setState(1628);
8186 match(SEMI_);
8187 setState(1629);
8188 expr(0);
8189 }
8190 }
8191 break;
8192 case 2:
8193 {
8194 setState(1631);
8195 expr(0);
8196 }
8197 break;
8198 }
8199 setState(1634);
8200 match(COMMA_);
8201 setState(1637);
8202 _errHandler.sync(this);
8203 switch ( getInterpreter().adaptivePredict(_input,76,_ctx) ) {
8204 case 1:
8205 {
8206 setState(1635);
8207 tableName();
8208 }
8209 break;
8210 case 2:
8211 {
8212 setState(1636);
8213 expr(0);
8214 }
8215 break;
8216 }
8217 setState(1639);
8218 match(RP_);
8219 }
8220 break;
8221 case 2:
8222 enterOuterAlt(_localctx, 2);
8223 {
8224 setState(1641);
8225 match(OPENROWSET);
8226 setState(1642);
8227 match(LP_);
8228 setState(1643);
8229 match(BULK);
8230 setState(1644);
8231 expr(0);
8232 setState(1649);
8233 _errHandler.sync(this);
8234 _la = _input.LA(1);
8235 while (_la==COMMA_) {
8236 {
8237 {
8238 setState(1645);
8239 match(COMMA_);
8240 setState(1646);
8241 expr(0);
8242 }
8243 }
8244 setState(1651);
8245 _errHandler.sync(this);
8246 _la = _input.LA(1);
8247 }
8248 setState(1652);
8249 match(RP_);
8250 }
8251 break;
8252 }
8253 }
8254 catch (RecognitionException re) {
8255 _localctx.exception = re;
8256 _errHandler.reportError(this, re);
8257 _errHandler.recover(this, re);
8258 }
8259 finally {
8260 exitRule();
8261 }
8262 return _localctx;
8263 }
8264
8265 public static class RegularFunctionContext extends ParserRuleContext {
8266 public RegularFunctionNameContext regularFunctionName() {
8267 return getRuleContext(RegularFunctionNameContext.class,0);
8268 }
8269 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8270 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8271 public List<ExprContext> expr() {
8272 return getRuleContexts(ExprContext.class);
8273 }
8274 public ExprContext expr(int i) {
8275 return getRuleContext(ExprContext.class,i);
8276 }
8277 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
8278 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8279 public TerminalNode COMMA_(int i) {
8280 return getToken(SQLServerStatementParser.COMMA_, i);
8281 }
8282 public RegularFunctionContext(ParserRuleContext parent, int invokingState) {
8283 super(parent, invokingState);
8284 }
8285 @Override public int getRuleIndex() { return RULE_regularFunction; }
8286 @Override
8287 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8288 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunction(this);
8289 else return visitor.visitChildren(this);
8290 }
8291 }
8292
8293 public final RegularFunctionContext regularFunction() throws RecognitionException {
8294 RegularFunctionContext _localctx = new RegularFunctionContext(_ctx, getState());
8295 enterRule(_localctx, 142, RULE_regularFunction);
8296 int _la;
8297 try {
8298 enterOuterAlt(_localctx, 1);
8299 {
8300 setState(1656);
8301 regularFunctionName();
8302 setState(1657);
8303 match(LP_);
8304 setState(1667);
8305 _errHandler.sync(this);
8306 switch (_input.LA(1)) {
8307 case NOT_:
8308 case TILDE_:
8309 case PLUS_:
8310 case MINUS_:
8311 case LP_:
8312 case LBE_:
8313 case QUESTION_:
8314 case DOLLAR_:
8315 case TRUNCATE:
8316 case SCHEMA:
8317 case COLUMNS:
8318 case PRECISION:
8319 case FUNCTION:
8320 case TRIGGER:
8321 case CASE:
8322 case CAST:
8323 case SUBSTRING:
8324 case OFF:
8325 case IF:
8326 case NOT:
8327 case NULL:
8328 case TRUE:
8329 case FALSE:
8330 case EXISTS:
8331 case GROUP:
8332 case LIMIT:
8333 case OFFSET:
8334 case SAVEPOINT:
8335 case BOOLEAN:
8336 case CHAR:
8337 case ARRAY:
8338 case INTERVAL:
8339 case DATE:
8340 case TIME:
8341 case TIMESTAMP:
8342 case LOCALTIME:
8343 case LOCALTIMESTAMP:
8344 case QUARTER:
8345 case MONTH:
8346 case WEEK:
8347 case DAY:
8348 case SECOND:
8349 case MICROSECOND:
8350 case MAX:
8351 case MIN:
8352 case SUM:
8353 case COUNT:
8354 case AVG:
8355 case ENABLE:
8356 case DISABLE:
8357 case INSTANCE:
8358 case DO:
8359 case DEFINER:
8360 case SQL:
8361 case CASCADED:
8362 case LOCAL:
8363 case NEXT:
8364 case NAME:
8365 case INTEGER:
8366 case TYPE:
8367 case TEXT:
8368 case VIEWS:
8369 case READ_ONLY:
8370 case DATABASE:
8371 case RETURNS:
8372 case DATEPART:
8373 case PASSWORD:
8374 case BINARY:
8375 case HIDDEN_:
8376 case MOD:
8377 case PARTITION:
8378 case PARTITIONS:
8379 case TOP:
8380 case ROW:
8381 case ROWS:
8382 case XOR:
8383 case ALWAYS:
8384 case ROLE:
8385 case START:
8386 case ALGORITHM:
8387 case AUTO:
8388 case BLOCKERS:
8389 case CLUSTERED:
8390 case NONCLUSTERED:
8391 case COLUMNSTORE:
8392 case CONTENT:
8393 case CONVERT:
8394 case YEARS:
8395 case MONTHS:
8396 case WEEKS:
8397 case DAYS:
8398 case MINUTES:
8399 case DENY:
8400 case DETERMINISTIC:
8401 case DISTRIBUTION:
8402 case DOCUMENT:
8403 case DURABILITY:
8404 case ENCRYPTED:
8405 case FILESTREAM:
8406 case FILETABLE:
8407 case FILLFACTOR:
8408 case FOLLOWING:
8409 case HASH:
8410 case HEAP:
8411 case INBOUND:
8412 case OUTBOUND:
8413 case UNBOUNDED:
8414 case INFINITE:
8415 case LOGIN:
8416 case MASKED:
8417 case MAXDOP:
8418 case MOVE:
8419 case NOCHECK:
8420 case OBJECT:
8421 case ONLINE:
8422 case OVER:
8423 case PAGE:
8424 case PAUSED:
8425 case PERIOD:
8426 case PERSISTED:
8427 case PRECEDING:
8428 case RANDOMIZED:
8429 case RANGE:
8430 case REBUILD:
8431 case REPLICATE:
8432 case REPLICATION:
8433 case RESUMABLE:
8434 case ROWGUIDCOL:
8435 case SAVE:
8436 case SELF:
8437 case SPARSE:
8438 case SWITCH:
8439 case TRAN:
8440 case TRANCOUNT:
8441 case CONTROL:
8442 case CONCAT:
8443 case TAKE:
8444 case OWNERSHIP:
8445 case DEFINITION:
8446 case APPLICATION:
8447 case ASSEMBLY:
8448 case SYMMETRIC:
8449 case ASYMMETRIC:
8450 case SERVER:
8451 case RECEIVE:
8452 case CHANGE:
8453 case TRACE:
8454 case TRACKING:
8455 case RESOURCES:
8456 case SETTINGS:
8457 case STATE:
8458 case AVAILABILITY:
8459 case CREDENTIAL:
8460 case ENDPOINT:
8461 case EVENT:
8462 case NOTIFICATION:
8463 case LINKED:
8464 case AUDIT:
8465 case DDL:
8466 case XML:
8467 case IMPERSONATE:
8468 case SECURABLES:
8469 case AUTHENTICATE:
8470 case EXTERNAL:
8471 case ACCESS:
8472 case ADMINISTER:
8473 case BULK:
8474 case OPERATIONS:
8475 case UNSAFE:
8476 case SHUTDOWN:
8477 case SCOPED:
8478 case CONFIGURATION:
8479 case DATASPACE:
8480 case SERVICE:
8481 case CERTIFICATE:
8482 case CONTRACT:
8483 case ENCRYPTION:
8484 case MASTER:
8485 case DATA:
8486 case SOURCE:
8487 case FILE:
8488 case FORMAT:
8489 case LIBRARY:
8490 case FULLTEXT:
8491 case MASK:
8492 case UNMASK:
8493 case MESSAGE:
8494 case REMOTE:
8495 case BINDING:
8496 case ROUTE:
8497 case SECURITY:
8498 case POLICY:
8499 case AGGREGATE:
8500 case QUEUE:
8501 case RULE:
8502 case SYNONYM:
8503 case COLLECTION:
8504 case SCRIPT:
8505 case KILL:
8506 case BACKUP:
8507 case LOG:
8508 case SHOWPLAN:
8509 case SUBSCRIBE:
8510 case QUERY:
8511 case NOTIFICATIONS:
8512 case CHECKPOINT:
8513 case SEQUENCE:
8514 case ABORT_AFTER_WAIT:
8515 case ALLOW_PAGE_LOCKS:
8516 case ALLOW_ROW_LOCKS:
8517 case ALL_SPARSE_COLUMNS:
8518 case BUCKET_COUNT:
8519 case COLUMNSTORE_ARCHIVE:
8520 case COLUMN_ENCRYPTION_KEY:
8521 case COLUMN_SET:
8522 case COMPRESSION_DELAY:
8523 case DATABASE_DEAULT:
8524 case DATA_COMPRESSION:
8525 case DATA_CONSISTENCY_CHECK:
8526 case ENCRYPTION_TYPE:
8527 case SYSTEM_TIME:
8528 case SYSTEM_VERSIONING:
8529 case TEXTIMAGE_ON:
8530 case WAIT_AT_LOW_PRIORITY:
8531 case STATISTICS_INCREMENTAL:
8532 case STATISTICS_NORECOMPUTE:
8533 case ROUND_ROBIN:
8534 case SCHEMA_AND_DATA:
8535 case SCHEMA_ONLY:
8536 case SORT_IN_TEMPDB:
8537 case IGNORE_DUP_KEY:
8538 case IMPLICIT_TRANSACTIONS:
8539 case MAX_DURATION:
8540 case MEMORY_OPTIMIZED:
8541 case MIGRATION_STATE:
8542 case PAD_INDEX:
8543 case REMOTE_DATA_ARCHIVE:
8544 case FILESTREAM_ON:
8545 case FILETABLE_COLLATE_FILENAME:
8546 case FILETABLE_DIRECTORY:
8547 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
8548 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
8549 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
8550 case FILTER_PREDICATE:
8551 case HISTORY_RETENTION_PERIOD:
8552 case HISTORY_TABLE:
8553 case LOCK_ESCALATION:
8554 case DROP_EXISTING:
8555 case ROW_NUMBER:
8556 case FIRST:
8557 case DATETIME2:
8558 case OUTPUT:
8559 case INSERTED:
8560 case DELETED:
8561 case FILENAME:
8562 case SIZE:
8563 case MAXSIZE:
8564 case FILEGROWTH:
8565 case UNLIMITED:
8566 case KB:
8567 case MB:
8568 case GB:
8569 case TB:
8570 case CONTAINS:
8571 case MEMORY_OPTIMIZED_DATA:
8572 case FILEGROUP:
8573 case NON_TRANSACTED_ACCESS:
8574 case DB_CHAINING:
8575 case TRUSTWORTHY:
8576 case FORWARD_ONLY:
8577 case KEYSET:
8578 case FAST_FORWARD:
8579 case SCROLL_LOCKS:
8580 case OPTIMISTIC:
8581 case TYPE_WARNING:
8582 case SCHEMABINDING:
8583 case CALLER:
8584 case OWNER:
8585 case SNAPSHOT:
8586 case REPEATABLE:
8587 case SERIALIZABLE:
8588 case NATIVE_COMPILATION:
8589 case VIEW_METADATA:
8590 case INSTEAD:
8591 case APPEND:
8592 case INCREMENT:
8593 case CACHE:
8594 case MINVALUE:
8595 case MAXVALUE:
8596 case RESTART:
8597 case LOB_COMPACTION:
8598 case COMPRESS_ALL_ROW_GROUPS:
8599 case REORGANIZE:
8600 case RESUME:
8601 case PAUSE:
8602 case ABORT:
8603 case ACCELERATED_DATABASE_RECOVERY:
8604 case PERSISTENT_VERSION_STORE_FILEGROUP:
8605 case IMMEDIATE:
8606 case NO_WAIT:
8607 case TARGET_RECOVERY_TIME:
8608 case SECONDS:
8609 case HONOR_BROKER_PRIORITY:
8610 case ERROR_BROKER_CONVERSATIONS:
8611 case NEW_BROKER:
8612 case DISABLE_BROKER:
8613 case ENABLE_BROKER:
8614 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
8615 case READ_COMMITTED_SNAPSHOT:
8616 case ALLOW_SNAPSHOT_ISOLATION:
8617 case RECURSIVE_TRIGGERS:
8618 case QUOTED_IDENTIFIER:
8619 case NUMERIC_ROUNDABORT:
8620 case CONCAT_NULL_YIELDS_NULL:
8621 case COMPATIBILITY_LEVEL:
8622 case ARITHABORT:
8623 case ANSI_WARNINGS:
8624 case ANSI_PADDING:
8625 case ANSI_NULLS:
8626 case ANSI_NULL_DEFAULT:
8627 case PAGE_VERIFY:
8628 case CHECKSUM:
8629 case TORN_PAGE_DETECTION:
8630 case BULK_LOGGED:
8631 case RECOVERY:
8632 case TOTAL_EXECUTION_CPU_TIME_MS:
8633 case TOTAL_COMPILE_CPU_TIME_MS:
8634 case STALE_CAPTURE_POLICY_THRESHOLD:
8635 case EXECUTION_COUNT:
8636 case QUERY_CAPTURE_POLICY:
8637 case WAIT_STATS_CAPTURE_MODE:
8638 case MAX_PLANS_PER_QUERY:
8639 case QUERY_CAPTURE_MODE:
8640 case SIZE_BASED_CLEANUP_MODE:
8641 case INTERVAL_LENGTH_MINUTES:
8642 case MAX_STORAGE_SIZE_MB:
8643 case DATA_FLUSH_INTERVAL_SECONDS:
8644 case CLEANUP_POLICY:
8645 case CUSTOM:
8646 case STALE_QUERY_THRESHOLD_DAYS:
8647 case OPERATION_MODE:
8648 case QUERY_STORE:
8649 case CURSOR_DEFAULT:
8650 case GLOBAL:
8651 case CURSOR_CLOSE_ON_COMMIT:
8652 case HOURS:
8653 case CHANGE_RETENTION:
8654 case AUTO_CLEANUP:
8655 case CHANGE_TRACKING:
8656 case AUTOMATIC_TUNING:
8657 case FORCE_LAST_GOOD_PLAN:
8658 case AUTO_UPDATE_STATISTICS_ASYNC:
8659 case AUTO_UPDATE_STATISTICS:
8660 case AUTO_SHRINK:
8661 case AUTO_CREATE_STATISTICS:
8662 case INCREMENTAL:
8663 case AUTO_CLOSE:
8664 case DATA_RETENTION:
8665 case TEMPORAL_HISTORY_RETENTION:
8666 case EDITION:
8667 case MIXED_PAGE_ALLOCATION:
8668 case DISABLED:
8669 case ALLOWED:
8670 case HADR:
8671 case MULTI_USER:
8672 case RESTRICTED_USER:
8673 case SINGLE_USER:
8674 case OFFLINE:
8675 case EMERGENCY:
8676 case SUSPEND:
8677 case DATE_CORRELATION_OPTIMIZATION:
8678 case ELASTIC_POOL:
8679 case SERVICE_OBJECTIVE:
8680 case DATABASE_NAME:
8681 case ALLOW_CONNECTIONS:
8682 case GEO:
8683 case NAMED:
8684 case DATEFIRST:
8685 case BACKUP_STORAGE_REDUNDANCY:
8686 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
8687 case SECONDARY:
8688 case FAILOVER:
8689 case DEFAULT_FULLTEXT_LANGUAGE:
8690 case DEFAULT_LANGUAGE:
8691 case INLINE:
8692 case NESTED_TRIGGERS:
8693 case TRANSFORM_NOISE_WORDS:
8694 case TWO_DIGIT_YEAR_CUTOFF:
8695 case PERSISTENT_LOG_BUFFER:
8696 case DIRECTORY_NAME:
8697 case DATEFORMAT:
8698 case DELAYED_DURABILITY:
8699 case AUTHORIZATION:
8700 case TRANSFER:
8701 case PROVIDER:
8702 case SEARCH:
8703 case MEMBER:
8704 case OPENJSON:
8705 case OPENROWSET:
8706 case IDENTIFIER_:
8707 case DELIMITED_IDENTIFIER_:
8708 case STRING_:
8709 case NUMBER_:
8710 case HEX_DIGIT_:
8711 case BIT_NUM_:
8712 case NCHAR_TEXT:
8713 {
8714 setState(1658);
8715 expr(0);
8716 setState(1663);
8717 _errHandler.sync(this);
8718 _la = _input.LA(1);
8719 while (_la==COMMA_) {
8720 {
8721 {
8722 setState(1659);
8723 match(COMMA_);
8724 setState(1660);
8725 expr(0);
8726 }
8727 }
8728 setState(1665);
8729 _errHandler.sync(this);
8730 _la = _input.LA(1);
8731 }
8732 }
8733 break;
8734 case ASTERISK_:
8735 {
8736 setState(1666);
8737 match(ASTERISK_);
8738 }
8739 break;
8740 case RP_:
8741 break;
8742 default:
8743 break;
8744 }
8745 setState(1669);
8746 match(RP_);
8747 }
8748 }
8749 catch (RecognitionException re) {
8750 _localctx.exception = re;
8751 _errHandler.reportError(this, re);
8752 _errHandler.recover(this, re);
8753 }
8754 finally {
8755 exitRule();
8756 }
8757 return _localctx;
8758 }
8759
8760 public static class RegularFunctionNameContext extends ParserRuleContext {
8761 public IdentifierContext identifier() {
8762 return getRuleContext(IdentifierContext.class,0);
8763 }
8764 public OwnerContext owner() {
8765 return getRuleContext(OwnerContext.class,0);
8766 }
8767 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
8768 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
8769 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
8770 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
8771 public TerminalNode INTERVAL() { return getToken(SQLServerStatementParser.INTERVAL, 0); }
8772 public RegularFunctionNameContext(ParserRuleContext parent, int invokingState) {
8773 super(parent, invokingState);
8774 }
8775 @Override public int getRuleIndex() { return RULE_regularFunctionName; }
8776 @Override
8777 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8778 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunctionName(this);
8779 else return visitor.visitChildren(this);
8780 }
8781 }
8782
8783 public final RegularFunctionNameContext regularFunctionName() throws RecognitionException {
8784 RegularFunctionNameContext _localctx = new RegularFunctionNameContext(_ctx, getState());
8785 enterRule(_localctx, 144, RULE_regularFunctionName);
8786 try {
8787 setState(1681);
8788 _errHandler.sync(this);
8789 switch ( getInterpreter().adaptivePredict(_input,82,_ctx) ) {
8790 case 1:
8791 enterOuterAlt(_localctx, 1);
8792 {
8793 setState(1674);
8794 _errHandler.sync(this);
8795 switch ( getInterpreter().adaptivePredict(_input,81,_ctx) ) {
8796 case 1:
8797 {
8798 setState(1671);
8799 owner();
8800 setState(1672);
8801 match(DOT_);
8802 }
8803 break;
8804 }
8805 setState(1676);
8806 identifier();
8807 }
8808 break;
8809 case 2:
8810 enterOuterAlt(_localctx, 2);
8811 {
8812 setState(1677);
8813 match(IF);
8814 }
8815 break;
8816 case 3:
8817 enterOuterAlt(_localctx, 3);
8818 {
8819 setState(1678);
8820 match(LOCALTIME);
8821 }
8822 break;
8823 case 4:
8824 enterOuterAlt(_localctx, 4);
8825 {
8826 setState(1679);
8827 match(LOCALTIMESTAMP);
8828 }
8829 break;
8830 case 5:
8831 enterOuterAlt(_localctx, 5);
8832 {
8833 setState(1680);
8834 match(INTERVAL);
8835 }
8836 break;
8837 }
8838 }
8839 catch (RecognitionException re) {
8840 _localctx.exception = re;
8841 _errHandler.reportError(this, re);
8842 _errHandler.recover(this, re);
8843 }
8844 finally {
8845 exitRule();
8846 }
8847 return _localctx;
8848 }
8849
8850 public static class CaseExpressionContext extends ParserRuleContext {
8851 public TerminalNode CASE() { return getToken(SQLServerStatementParser.CASE, 0); }
8852 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
8853 public SimpleExprContext simpleExpr() {
8854 return getRuleContext(SimpleExprContext.class,0);
8855 }
8856 public List<CaseWhenContext> caseWhen() {
8857 return getRuleContexts(CaseWhenContext.class);
8858 }
8859 public CaseWhenContext caseWhen(int i) {
8860 return getRuleContext(CaseWhenContext.class,i);
8861 }
8862 public CaseElseContext caseElse() {
8863 return getRuleContext(CaseElseContext.class,0);
8864 }
8865 public CaseExpressionContext(ParserRuleContext parent, int invokingState) {
8866 super(parent, invokingState);
8867 }
8868 @Override public int getRuleIndex() { return RULE_caseExpression; }
8869 @Override
8870 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8871 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseExpression(this);
8872 else return visitor.visitChildren(this);
8873 }
8874 }
8875
8876 public final CaseExpressionContext caseExpression() throws RecognitionException {
8877 CaseExpressionContext _localctx = new CaseExpressionContext(_ctx, getState());
8878 enterRule(_localctx, 146, RULE_caseExpression);
8879 int _la;
8880 try {
8881 enterOuterAlt(_localctx, 1);
8882 {
8883 setState(1683);
8884 match(CASE);
8885 setState(1685);
8886 _errHandler.sync(this);
8887 _la = _input.LA(1);
8888 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)) | (1L << (BLOCKERS - 203)) | (1L << (CLUSTERED - 203)) | (1L << (NONCLUSTERED - 203)) | (1L << (COLUMNSTORE - 203)) | (1L << (CONTENT - 203)) | (1L << (CONVERT - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)) | (1L << (CONTROL - 267)) | (1L << (CONCAT - 267)) | (1L << (TAKE - 267)) | (1L << (OWNERSHIP - 267)) | (1L << (DEFINITION - 267)) | (1L << (APPLICATION - 267)) | (1L << (ASSEMBLY - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (SYMMETRIC - 331)) | (1L << (ASYMMETRIC - 331)) | (1L << (SERVER - 331)) | (1L << (RECEIVE - 331)) | (1L << (CHANGE - 331)) | (1L << (TRACE - 331)) | (1L << (TRACKING - 331)) | (1L << (RESOURCES - 331)) | (1L << (SETTINGS - 331)) | (1L << (STATE - 331)) | (1L << (AVAILABILITY - 331)) | (1L << (CREDENTIAL - 331)) | (1L << (ENDPOINT - 331)) | (1L << (EVENT - 331)) | (1L << (NOTIFICATION - 331)) | (1L << (LINKED - 331)) | (1L << (AUDIT - 331)) | (1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)) | (1L << (KILL - 331)) | (1L << (BACKUP - 331)) | (1L << (LOG - 331)) | (1L << (SHOWPLAN - 331)) | (1L << (SUBSCRIBE - 331)) | (1L << (QUERY - 331)) | (1L << (NOTIFICATIONS - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (CHECKPOINT - 395)) | (1L << (SEQUENCE - 395)) | (1L << (ABORT_AFTER_WAIT - 395)) | (1L << (ALLOW_PAGE_LOCKS - 395)) | (1L << (ALLOW_ROW_LOCKS - 395)) | (1L << (ALL_SPARSE_COLUMNS - 395)) | (1L << (BUCKET_COUNT - 395)) | (1L << (COLUMNSTORE_ARCHIVE - 395)) | (1L << (COLUMN_ENCRYPTION_KEY - 395)) | (1L << (COLUMN_SET - 395)) | (1L << (COMPRESSION_DELAY - 395)) | (1L << (DATABASE_DEAULT - 395)) | (1L << (DATA_COMPRESSION - 395)) | (1L << (DATA_CONSISTENCY_CHECK - 395)) | (1L << (ENCRYPTION_TYPE - 395)) | (1L << (SYSTEM_TIME - 395)) | (1L << (SYSTEM_VERSIONING - 395)) | (1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)) | (1L << (OUTPUT - 395)))) != 0) || ((((_la - 459)) & ~0x3f) == 0 && ((1L << (_la - 459)) & ((1L << (INSERTED - 459)) | (1L << (DELETED - 459)) | (1L << (FILENAME - 459)) | (1L << (SIZE - 459)) | (1L << (MAXSIZE - 459)) | (1L << (FILEGROWTH - 459)) | (1L << (UNLIMITED - 459)) | (1L << (KB - 459)) | (1L << (MB - 459)) | (1L << (GB - 459)) | (1L << (TB - 459)) | (1L << (CONTAINS - 459)) | (1L << (MEMORY_OPTIMIZED_DATA - 459)) | (1L << (FILEGROUP - 459)) | (1L << (NON_TRANSACTED_ACCESS - 459)) | (1L << (DB_CHAINING - 459)) | (1L << (TRUSTWORTHY - 459)) | (1L << (FORWARD_ONLY - 459)) | (1L << (KEYSET - 459)) | (1L << (FAST_FORWARD - 459)) | (1L << (SCROLL_LOCKS - 459)) | (1L << (OPTIMISTIC - 459)) | (1L << (TYPE_WARNING - 459)) | (1L << (SCHEMABINDING - 459)) | (1L << (CALLER - 459)))) != 0) || ((((_la - 527)) & ~0x3f) == 0 && ((1L << (_la - 527)) & ((1L << (OWNER - 527)) | (1L << (SNAPSHOT - 527)) | (1L << (REPEATABLE - 527)) | (1L << (SERIALIZABLE - 527)) | (1L << (NATIVE_COMPILATION - 527)) | (1L << (VIEW_METADATA - 527)) | (1L << (INSTEAD - 527)) | (1L << (APPEND - 527)) | (1L << (INCREMENT - 527)) | (1L << (CACHE - 527)) | (1L << (MINVALUE - 527)) | (1L << (MAXVALUE - 527)) | (1L << (RESTART - 527)) | (1L << (LOB_COMPACTION - 527)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 527)) | (1L << (REORGANIZE - 527)) | (1L << (RESUME - 527)) | (1L << (PAUSE - 527)) | (1L << (ABORT - 527)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 527)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 527)) | (1L << (IMMEDIATE - 527)) | (1L << (NO_WAIT - 527)) | (1L << (TARGET_RECOVERY_TIME - 527)) | (1L << (SECONDS - 527)) | (1L << (HONOR_BROKER_PRIORITY - 527)) | (1L << (ERROR_BROKER_CONVERSATIONS - 527)) | (1L << (NEW_BROKER - 527)) | (1L << (DISABLE_BROKER - 527)) | (1L << (ENABLE_BROKER - 527)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 527)) | (1L << (READ_COMMITTED_SNAPSHOT - 527)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 527)) | (1L << (RECURSIVE_TRIGGERS - 527)) | (1L << (QUOTED_IDENTIFIER - 527)) | (1L << (NUMERIC_ROUNDABORT - 527)) | (1L << (CONCAT_NULL_YIELDS_NULL - 527)) | (1L << (COMPATIBILITY_LEVEL - 527)) | (1L << (ARITHABORT - 527)) | (1L << (ANSI_WARNINGS - 527)) | (1L << (ANSI_PADDING - 527)) | (1L << (ANSI_NULLS - 527)) | (1L << (ANSI_NULL_DEFAULT - 527)) | (1L << (PAGE_VERIFY - 527)) | (1L << (CHECKSUM - 527)) | (1L << (TORN_PAGE_DETECTION - 527)) | (1L << (BULK_LOGGED - 527)))) != 0) || ((((_la - 591)) & ~0x3f) == 0 && ((1L << (_la - 591)) & ((1L << (RECOVERY - 591)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 591)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 591)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 591)) | (1L << (EXECUTION_COUNT - 591)) | (1L << (QUERY_CAPTURE_POLICY - 591)) | (1L << (WAIT_STATS_CAPTURE_MODE - 591)) | (1L << (MAX_PLANS_PER_QUERY - 591)) | (1L << (QUERY_CAPTURE_MODE - 591)) | (1L << (SIZE_BASED_CLEANUP_MODE - 591)) | (1L << (INTERVAL_LENGTH_MINUTES - 591)) | (1L << (MAX_STORAGE_SIZE_MB - 591)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 591)) | (1L << (CLEANUP_POLICY - 591)) | (1L << (CUSTOM - 591)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 591)) | (1L << (OPERATION_MODE - 591)) | (1L << (QUERY_STORE - 591)) | (1L << (CURSOR_DEFAULT - 591)) | (1L << (GLOBAL - 591)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 591)) | (1L << (HOURS - 591)) | (1L << (CHANGE_RETENTION - 591)) | (1L << (AUTO_CLEANUP - 591)) | (1L << (CHANGE_TRACKING - 591)) | (1L << (AUTOMATIC_TUNING - 591)) | (1L << (FORCE_LAST_GOOD_PLAN - 591)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 591)) | (1L << (AUTO_UPDATE_STATISTICS - 591)) | (1L << (AUTO_SHRINK - 591)) | (1L << (AUTO_CREATE_STATISTICS - 591)) | (1L << (INCREMENTAL - 591)) | (1L << (AUTO_CLOSE - 591)) | (1L << (DATA_RETENTION - 591)) | (1L << (TEMPORAL_HISTORY_RETENTION - 591)) | (1L << (EDITION - 591)) | (1L << (MIXED_PAGE_ALLOCATION - 591)) | (1L << (DISABLED - 591)) | (1L << (ALLOWED - 591)) | (1L << (HADR - 591)) | (1L << (MULTI_USER - 591)) | (1L << (RESTRICTED_USER - 591)) | (1L << (SINGLE_USER - 591)) | (1L << (OFFLINE - 591)) | (1L << (EMERGENCY - 591)) | (1L << (SUSPEND - 591)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 591)) | (1L << (ELASTIC_POOL - 591)) | (1L << (SERVICE_OBJECTIVE - 591)) | (1L << (DATABASE_NAME - 591)) | (1L << (ALLOW_CONNECTIONS - 591)) | (1L << (GEO - 591)) | (1L << (NAMED - 591)) | (1L << (DATEFIRST - 591)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 591)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 591)) | (1L << (SECONDARY - 591)) | (1L << (FAILOVER - 591)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 591)) | (1L << (DEFAULT_LANGUAGE - 591)) | (1L << (INLINE - 591)) | (1L << (NESTED_TRIGGERS - 591)) | (1L << (TRANSFORM_NOISE_WORDS - 591)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 591)))) != 0) || ((((_la - 655)) & ~0x3f) == 0 && ((1L << (_la - 655)) & ((1L << (PERSISTENT_LOG_BUFFER - 655)) | (1L << (DIRECTORY_NAME - 655)) | (1L << (DATEFORMAT - 655)) | (1L << (DELAYED_DURABILITY - 655)) | (1L << (AUTHORIZATION - 655)) | (1L << (TRANSFER - 655)) | (1L << (PROVIDER - 655)) | (1L << (SEARCH - 655)) | (1L << (MEMBER - 655)) | (1L << (OPENJSON - 655)) | (1L << (OPENROWSET - 655)) | (1L << (IDENTIFIER_ - 655)) | (1L << (DELIMITED_IDENTIFIER_ - 655)) | (1L << (STRING_ - 655)) | (1L << (NUMBER_ - 655)))) != 0) || ((((_la - 719)) & ~0x3f) == 0 && ((1L << (_la - 719)) & ((1L << (HEX_DIGIT_ - 719)) | (1L << (BIT_NUM_ - 719)) | (1L << (NCHAR_TEXT - 719)))) != 0)) {
8889 {
8890 setState(1684);
8891 simpleExpr(0);
8892 }
8893 }
8894
8895 setState(1688);
8896 _errHandler.sync(this);
8897 _la = _input.LA(1);
8898 do {
8899 {
8900 {
8901 setState(1687);
8902 caseWhen();
8903 }
8904 }
8905 setState(1690);
8906 _errHandler.sync(this);
8907 _la = _input.LA(1);
8908 } while ( _la==WHEN );
8909 setState(1693);
8910 _errHandler.sync(this);
8911 _la = _input.LA(1);
8912 if (_la==ELSE) {
8913 {
8914 setState(1692);
8915 caseElse();
8916 }
8917 }
8918
8919 setState(1695);
8920 match(END);
8921 }
8922 }
8923 catch (RecognitionException re) {
8924 _localctx.exception = re;
8925 _errHandler.reportError(this, re);
8926 _errHandler.recover(this, re);
8927 }
8928 finally {
8929 exitRule();
8930 }
8931 return _localctx;
8932 }
8933
8934 public static class CaseWhenContext extends ParserRuleContext {
8935 public TerminalNode WHEN() { return getToken(SQLServerStatementParser.WHEN, 0); }
8936 public List<ExprContext> expr() {
8937 return getRuleContexts(ExprContext.class);
8938 }
8939 public ExprContext expr(int i) {
8940 return getRuleContext(ExprContext.class,i);
8941 }
8942 public TerminalNode THEN() { return getToken(SQLServerStatementParser.THEN, 0); }
8943 public CaseWhenContext(ParserRuleContext parent, int invokingState) {
8944 super(parent, invokingState);
8945 }
8946 @Override public int getRuleIndex() { return RULE_caseWhen; }
8947 @Override
8948 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8949 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseWhen(this);
8950 else return visitor.visitChildren(this);
8951 }
8952 }
8953
8954 public final CaseWhenContext caseWhen() throws RecognitionException {
8955 CaseWhenContext _localctx = new CaseWhenContext(_ctx, getState());
8956 enterRule(_localctx, 148, RULE_caseWhen);
8957 try {
8958 enterOuterAlt(_localctx, 1);
8959 {
8960 setState(1697);
8961 match(WHEN);
8962 setState(1698);
8963 expr(0);
8964 setState(1699);
8965 match(THEN);
8966 setState(1700);
8967 expr(0);
8968 }
8969 }
8970 catch (RecognitionException re) {
8971 _localctx.exception = re;
8972 _errHandler.reportError(this, re);
8973 _errHandler.recover(this, re);
8974 }
8975 finally {
8976 exitRule();
8977 }
8978 return _localctx;
8979 }
8980
8981 public static class CaseElseContext extends ParserRuleContext {
8982 public TerminalNode ELSE() { return getToken(SQLServerStatementParser.ELSE, 0); }
8983 public ExprContext expr() {
8984 return getRuleContext(ExprContext.class,0);
8985 }
8986 public CaseElseContext(ParserRuleContext parent, int invokingState) {
8987 super(parent, invokingState);
8988 }
8989 @Override public int getRuleIndex() { return RULE_caseElse; }
8990 @Override
8991 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8992 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseElse(this);
8993 else return visitor.visitChildren(this);
8994 }
8995 }
8996
8997 public final CaseElseContext caseElse() throws RecognitionException {
8998 CaseElseContext _localctx = new CaseElseContext(_ctx, getState());
8999 enterRule(_localctx, 150, RULE_caseElse);
9000 try {
9001 enterOuterAlt(_localctx, 1);
9002 {
9003 setState(1702);
9004 match(ELSE);
9005 setState(1703);
9006 expr(0);
9007 }
9008 }
9009 catch (RecognitionException re) {
9010 _localctx.exception = re;
9011 _errHandler.reportError(this, re);
9012 _errHandler.recover(this, re);
9013 }
9014 finally {
9015 exitRule();
9016 }
9017 return _localctx;
9018 }
9019
9020 public static class PrivateExprOfDbContext extends ParserRuleContext {
9021 public WindowedFunctionContext windowedFunction() {
9022 return getRuleContext(WindowedFunctionContext.class,0);
9023 }
9024 public AtTimeZoneExprContext atTimeZoneExpr() {
9025 return getRuleContext(AtTimeZoneExprContext.class,0);
9026 }
9027 public CastExprContext castExpr() {
9028 return getRuleContext(CastExprContext.class,0);
9029 }
9030 public ConvertExprContext convertExpr() {
9031 return getRuleContext(ConvertExprContext.class,0);
9032 }
9033 public PrivateExprOfDbContext(ParserRuleContext parent, int invokingState) {
9034 super(parent, invokingState);
9035 }
9036 @Override public int getRuleIndex() { return RULE_privateExprOfDb; }
9037 @Override
9038 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9039 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivateExprOfDb(this);
9040 else return visitor.visitChildren(this);
9041 }
9042 }
9043
9044 public final PrivateExprOfDbContext privateExprOfDb() throws RecognitionException {
9045 PrivateExprOfDbContext _localctx = new PrivateExprOfDbContext(_ctx, getState());
9046 enterRule(_localctx, 152, RULE_privateExprOfDb);
9047 try {
9048 setState(1709);
9049 _errHandler.sync(this);
9050 switch ( getInterpreter().adaptivePredict(_input,86,_ctx) ) {
9051 case 1:
9052 enterOuterAlt(_localctx, 1);
9053 {
9054 setState(1705);
9055 windowedFunction();
9056 }
9057 break;
9058 case 2:
9059 enterOuterAlt(_localctx, 2);
9060 {
9061 setState(1706);
9062 atTimeZoneExpr();
9063 }
9064 break;
9065 case 3:
9066 enterOuterAlt(_localctx, 3);
9067 {
9068 setState(1707);
9069 castExpr();
9070 }
9071 break;
9072 case 4:
9073 enterOuterAlt(_localctx, 4);
9074 {
9075 setState(1708);
9076 convertExpr();
9077 }
9078 break;
9079 }
9080 }
9081 catch (RecognitionException re) {
9082 _localctx.exception = re;
9083 _errHandler.reportError(this, re);
9084 _errHandler.recover(this, re);
9085 }
9086 finally {
9087 exitRule();
9088 }
9089 return _localctx;
9090 }
9091
9092 public static class OrderByClauseContext extends ParserRuleContext {
9093 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
9094 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
9095 public List<OrderByItemContext> orderByItem() {
9096 return getRuleContexts(OrderByItemContext.class);
9097 }
9098 public OrderByItemContext orderByItem(int i) {
9099 return getRuleContext(OrderByItemContext.class,i);
9100 }
9101 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9102 public TerminalNode COMMA_(int i) {
9103 return getToken(SQLServerStatementParser.COMMA_, i);
9104 }
9105 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
9106 public List<ExprContext> expr() {
9107 return getRuleContexts(ExprContext.class);
9108 }
9109 public ExprContext expr(int i) {
9110 return getRuleContext(ExprContext.class,i);
9111 }
9112 public List<TerminalNode> ROW() { return getTokens(SQLServerStatementParser.ROW); }
9113 public TerminalNode ROW(int i) {
9114 return getToken(SQLServerStatementParser.ROW, i);
9115 }
9116 public List<TerminalNode> ROWS() { return getTokens(SQLServerStatementParser.ROWS); }
9117 public TerminalNode ROWS(int i) {
9118 return getToken(SQLServerStatementParser.ROWS, i);
9119 }
9120 public TerminalNode FETCH() { return getToken(SQLServerStatementParser.FETCH, 0); }
9121 public TerminalNode ONLY() { return getToken(SQLServerStatementParser.ONLY, 0); }
9122 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
9123 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
9124 public OrderByClauseContext(ParserRuleContext parent, int invokingState) {
9125 super(parent, invokingState);
9126 }
9127 @Override public int getRuleIndex() { return RULE_orderByClause; }
9128 @Override
9129 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9130 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByClause(this);
9131 else return visitor.visitChildren(this);
9132 }
9133 }
9134
9135 public final OrderByClauseContext orderByClause() throws RecognitionException {
9136 OrderByClauseContext _localctx = new OrderByClauseContext(_ctx, getState());
9137 enterRule(_localctx, 154, RULE_orderByClause);
9138 int _la;
9139 try {
9140 enterOuterAlt(_localctx, 1);
9141 {
9142 setState(1711);
9143 match(ORDER);
9144 setState(1712);
9145 match(BY);
9146 setState(1713);
9147 orderByItem();
9148 setState(1718);
9149 _errHandler.sync(this);
9150 _la = _input.LA(1);
9151 while (_la==COMMA_) {
9152 {
9153 {
9154 setState(1714);
9155 match(COMMA_);
9156 setState(1715);
9157 orderByItem();
9158 }
9159 }
9160 setState(1720);
9161 _errHandler.sync(this);
9162 _la = _input.LA(1);
9163 }
9164 setState(1732);
9165 _errHandler.sync(this);
9166 _la = _input.LA(1);
9167 if (_la==OFFSET) {
9168 {
9169 setState(1721);
9170 match(OFFSET);
9171 setState(1722);
9172 expr(0);
9173 setState(1723);
9174 _la = _input.LA(1);
9175 if ( !(_la==ROW || _la==ROWS) ) {
9176 _errHandler.recoverInline(this);
9177 }
9178 else {
9179 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9180 _errHandler.reportMatch(this);
9181 consume();
9182 }
9183 setState(1730);
9184 _errHandler.sync(this);
9185 _la = _input.LA(1);
9186 if (_la==FETCH) {
9187 {
9188 setState(1724);
9189 match(FETCH);
9190 setState(1725);
9191 _la = _input.LA(1);
9192 if ( !(_la==NEXT || _la==FIRST) ) {
9193 _errHandler.recoverInline(this);
9194 }
9195 else {
9196 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9197 _errHandler.reportMatch(this);
9198 consume();
9199 }
9200 setState(1726);
9201 expr(0);
9202 setState(1727);
9203 _la = _input.LA(1);
9204 if ( !(_la==ROW || _la==ROWS) ) {
9205 _errHandler.recoverInline(this);
9206 }
9207 else {
9208 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9209 _errHandler.reportMatch(this);
9210 consume();
9211 }
9212 setState(1728);
9213 match(ONLY);
9214 }
9215 }
9216
9217 }
9218 }
9219
9220 }
9221 }
9222 catch (RecognitionException re) {
9223 _localctx.exception = re;
9224 _errHandler.reportError(this, re);
9225 _errHandler.recover(this, re);
9226 }
9227 finally {
9228 exitRule();
9229 }
9230 return _localctx;
9231 }
9232
9233 public static class OrderByItemContext extends ParserRuleContext {
9234 public ColumnNameContext columnName() {
9235 return getRuleContext(ColumnNameContext.class,0);
9236 }
9237 public NumberLiteralsContext numberLiterals() {
9238 return getRuleContext(NumberLiteralsContext.class,0);
9239 }
9240 public ExprContext expr() {
9241 return getRuleContext(ExprContext.class,0);
9242 }
9243 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
9244 public IdentifierContext identifier() {
9245 return getRuleContext(IdentifierContext.class,0);
9246 }
9247 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
9248 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
9249 public OrderByItemContext(ParserRuleContext parent, int invokingState) {
9250 super(parent, invokingState);
9251 }
9252 @Override public int getRuleIndex() { return RULE_orderByItem; }
9253 @Override
9254 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9255 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByItem(this);
9256 else return visitor.visitChildren(this);
9257 }
9258 }
9259
9260 public final OrderByItemContext orderByItem() throws RecognitionException {
9261 OrderByItemContext _localctx = new OrderByItemContext(_ctx, getState());
9262 enterRule(_localctx, 156, RULE_orderByItem);
9263 int _la;
9264 try {
9265 enterOuterAlt(_localctx, 1);
9266 {
9267 setState(1737);
9268 _errHandler.sync(this);
9269 switch ( getInterpreter().adaptivePredict(_input,90,_ctx) ) {
9270 case 1:
9271 {
9272 setState(1734);
9273 columnName();
9274 }
9275 break;
9276 case 2:
9277 {
9278 setState(1735);
9279 numberLiterals();
9280 }
9281 break;
9282 case 3:
9283 {
9284 setState(1736);
9285 expr(0);
9286 }
9287 break;
9288 }
9289 setState(1741);
9290 _errHandler.sync(this);
9291 _la = _input.LA(1);
9292 if (_la==COLLATE) {
9293 {
9294 setState(1739);
9295 match(COLLATE);
9296 setState(1740);
9297 identifier();
9298 }
9299 }
9300
9301 setState(1744);
9302 _errHandler.sync(this);
9303 _la = _input.LA(1);
9304 if (_la==ASC || _la==DESC) {
9305 {
9306 setState(1743);
9307 _la = _input.LA(1);
9308 if ( !(_la==ASC || _la==DESC) ) {
9309 _errHandler.recoverInline(this);
9310 }
9311 else {
9312 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9313 _errHandler.reportMatch(this);
9314 consume();
9315 }
9316 }
9317 }
9318
9319 }
9320 }
9321 catch (RecognitionException re) {
9322 _localctx.exception = re;
9323 _errHandler.reportError(this, re);
9324 _errHandler.recover(this, re);
9325 }
9326 finally {
9327 exitRule();
9328 }
9329 return _localctx;
9330 }
9331
9332 public static class DataTypeContext extends ParserRuleContext {
9333 public DataTypeNameContext dataTypeName() {
9334 return getRuleContext(DataTypeNameContext.class,0);
9335 }
9336 public List<IgnoredIdentifierContext> ignoredIdentifier() {
9337 return getRuleContexts(IgnoredIdentifierContext.class);
9338 }
9339 public IgnoredIdentifierContext ignoredIdentifier(int i) {
9340 return getRuleContext(IgnoredIdentifierContext.class,i);
9341 }
9342 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
9343 public DataTypeLengthContext dataTypeLength() {
9344 return getRuleContext(DataTypeLengthContext.class,0);
9345 }
9346 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9347 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
9348 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9349 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
9350 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
9351 public DataTypeContext(ParserRuleContext parent, int invokingState) {
9352 super(parent, invokingState);
9353 }
9354 @Override public int getRuleIndex() { return RULE_dataType; }
9355 @Override
9356 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9357 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataType(this);
9358 else return visitor.visitChildren(this);
9359 }
9360 }
9361
9362 public final DataTypeContext dataType() throws RecognitionException {
9363 DataTypeContext _localctx = new DataTypeContext(_ctx, getState());
9364 enterRule(_localctx, 158, RULE_dataType);
9365 int _la;
9366 try {
9367 enterOuterAlt(_localctx, 1);
9368 {
9369 setState(1749);
9370 _errHandler.sync(this);
9371 switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) {
9372 case 1:
9373 {
9374 setState(1746);
9375 ignoredIdentifier();
9376 setState(1747);
9377 match(DOT_);
9378 }
9379 break;
9380 }
9381 setState(1751);
9382 dataTypeName();
9383 setState(1763);
9384 _errHandler.sync(this);
9385 switch ( getInterpreter().adaptivePredict(_input,95,_ctx) ) {
9386 case 1:
9387 {
9388 setState(1752);
9389 dataTypeLength();
9390 }
9391 break;
9392 case 2:
9393 {
9394 setState(1753);
9395 match(LP_);
9396 setState(1754);
9397 match(MAX);
9398 setState(1755);
9399 match(RP_);
9400 }
9401 break;
9402 case 3:
9403 {
9404 setState(1756);
9405 match(LP_);
9406 setState(1758);
9407 _errHandler.sync(this);
9408 _la = _input.LA(1);
9409 if (_la==CONTENT || _la==DOCUMENT) {
9410 {
9411 setState(1757);
9412 _la = _input.LA(1);
9413 if ( !(_la==CONTENT || _la==DOCUMENT) ) {
9414 _errHandler.recoverInline(this);
9415 }
9416 else {
9417 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9418 _errHandler.reportMatch(this);
9419 consume();
9420 }
9421 }
9422 }
9423
9424 setState(1760);
9425 ignoredIdentifier();
9426 setState(1761);
9427 match(RP_);
9428 }
9429 break;
9430 }
9431 }
9432 }
9433 catch (RecognitionException re) {
9434 _localctx.exception = re;
9435 _errHandler.reportError(this, re);
9436 _errHandler.recover(this, re);
9437 }
9438 finally {
9439 exitRule();
9440 }
9441 return _localctx;
9442 }
9443
9444 public static class DataTypeNameContext extends ParserRuleContext {
9445 public TerminalNode BIGINT() { return getToken(SQLServerStatementParser.BIGINT, 0); }
9446 public TerminalNode NUMERIC() { return getToken(SQLServerStatementParser.NUMERIC, 0); }
9447 public TerminalNode BIT() { return getToken(SQLServerStatementParser.BIT, 0); }
9448 public TerminalNode SMALLINT() { return getToken(SQLServerStatementParser.SMALLINT, 0); }
9449 public TerminalNode DECIMAL() { return getToken(SQLServerStatementParser.DECIMAL, 0); }
9450 public TerminalNode SMALLMONEY() { return getToken(SQLServerStatementParser.SMALLMONEY, 0); }
9451 public TerminalNode INT() { return getToken(SQLServerStatementParser.INT, 0); }
9452 public TerminalNode TINYINT() { return getToken(SQLServerStatementParser.TINYINT, 0); }
9453 public TerminalNode MONEY() { return getToken(SQLServerStatementParser.MONEY, 0); }
9454 public TerminalNode FLOAT() { return getToken(SQLServerStatementParser.FLOAT, 0); }
9455 public TerminalNode REAL() { return getToken(SQLServerStatementParser.REAL, 0); }
9456 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
9457 public TerminalNode DATETIMEOFFSET() { return getToken(SQLServerStatementParser.DATETIMEOFFSET, 0); }
9458 public TerminalNode SMALLDATETIME() { return getToken(SQLServerStatementParser.SMALLDATETIME, 0); }
9459 public TerminalNode DATETIME() { return getToken(SQLServerStatementParser.DATETIME, 0); }
9460 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
9461 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
9462 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
9463 public TerminalNode VARCHAR() { return getToken(SQLServerStatementParser.VARCHAR, 0); }
9464 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
9465 public TerminalNode NCHAR() { return getToken(SQLServerStatementParser.NCHAR, 0); }
9466 public TerminalNode NVARCHAR() { return getToken(SQLServerStatementParser.NVARCHAR, 0); }
9467 public TerminalNode NTEXT() { return getToken(SQLServerStatementParser.NTEXT, 0); }
9468 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
9469 public TerminalNode VARBINARY() { return getToken(SQLServerStatementParser.VARBINARY, 0); }
9470 public TerminalNode IMAGE() { return getToken(SQLServerStatementParser.IMAGE, 0); }
9471 public TerminalNode SQL_VARIANT() { return getToken(SQLServerStatementParser.SQL_VARIANT, 0); }
9472 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
9473 public TerminalNode UNIQUEIDENTIFIER() { return getToken(SQLServerStatementParser.UNIQUEIDENTIFIER, 0); }
9474 public TerminalNode HIERARCHYID() { return getToken(SQLServerStatementParser.HIERARCHYID, 0); }
9475 public TerminalNode GEOMETRY() { return getToken(SQLServerStatementParser.GEOMETRY, 0); }
9476 public TerminalNode GEOGRAPHY() { return getToken(SQLServerStatementParser.GEOGRAPHY, 0); }
9477 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
9478 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
9479 public DataTypeNameContext(ParserRuleContext parent, int invokingState) {
9480 super(parent, invokingState);
9481 }
9482 @Override public int getRuleIndex() { return RULE_dataTypeName; }
9483 @Override
9484 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9485 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeName(this);
9486 else return visitor.visitChildren(this);
9487 }
9488 }
9489
9490 public final DataTypeNameContext dataTypeName() throws RecognitionException {
9491 DataTypeNameContext _localctx = new DataTypeNameContext(_ctx, getState());
9492 enterRule(_localctx, 160, RULE_dataTypeName);
9493 int _la;
9494 try {
9495 enterOuterAlt(_localctx, 1);
9496 {
9497 setState(1765);
9498 _la = _input.LA(1);
9499 if ( !(((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & ((1L << (CHAR - 131)) | (1L << (DATE - 131)) | (1L << (TIME - 131)) | (1L << (INTEGER - 131)) | (1L << (REAL - 131)) | (1L << (DECIMAL - 131)) | (1L << (BIT - 131)) | (1L << (SMALLINT - 131)) | (1L << (INT - 131)) | (1L << (TINYINT - 131)) | (1L << (NUMERIC - 131)) | (1L << (FLOAT - 131)) | (1L << (BIGINT - 131)) | (1L << (TEXT - 131)) | (1L << (VARCHAR - 131)))) != 0) || _la==BINARY || _la==XML || ((((_la - 442)) & ~0x3f) == 0 && ((1L << (_la - 442)) & ((1L << (MONEY - 442)) | (1L << (SMALLMONEY - 442)) | (1L << (DATETIMEOFFSET - 442)) | (1L << (DATETIME - 442)) | (1L << (DATETIME2 - 442)) | (1L << (SMALLDATETIME - 442)) | (1L << (NCHAR - 442)) | (1L << (NVARCHAR - 442)) | (1L << (NTEXT - 442)) | (1L << (VARBINARY - 442)) | (1L << (IMAGE - 442)) | (1L << (SQL_VARIANT - 442)) | (1L << (UNIQUEIDENTIFIER - 442)) | (1L << (HIERARCHYID - 442)) | (1L << (GEOMETRY - 442)) | (1L << (GEOGRAPHY - 442)))) != 0) || _la==IDENTIFIER_) ) {
9500 _errHandler.recoverInline(this);
9501 }
9502 else {
9503 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9504 _errHandler.reportMatch(this);
9505 consume();
9506 }
9507 }
9508 }
9509 catch (RecognitionException re) {
9510 _localctx.exception = re;
9511 _errHandler.reportError(this, re);
9512 _errHandler.recover(this, re);
9513 }
9514 finally {
9515 exitRule();
9516 }
9517 return _localctx;
9518 }
9519
9520 public static class AtTimeZoneExprContext extends ParserRuleContext {
9521 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
9522 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
9523 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
9524 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
9525 public TerminalNode ZONE() { return getToken(SQLServerStatementParser.ZONE, 0); }
9526 public AtTimeZoneExprContext(ParserRuleContext parent, int invokingState) {
9527 super(parent, invokingState);
9528 }
9529 @Override public int getRuleIndex() { return RULE_atTimeZoneExpr; }
9530 @Override
9531 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9532 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAtTimeZoneExpr(this);
9533 else return visitor.visitChildren(this);
9534 }
9535 }
9536
9537 public final AtTimeZoneExprContext atTimeZoneExpr() throws RecognitionException {
9538 AtTimeZoneExprContext _localctx = new AtTimeZoneExprContext(_ctx, getState());
9539 enterRule(_localctx, 162, RULE_atTimeZoneExpr);
9540 int _la;
9541 try {
9542 enterOuterAlt(_localctx, 1);
9543 {
9544 setState(1767);
9545 match(IDENTIFIER_);
9546 setState(1771);
9547 _errHandler.sync(this);
9548 _la = _input.LA(1);
9549 if (_la==WITH) {
9550 {
9551 setState(1768);
9552 match(WITH);
9553 setState(1769);
9554 match(TIME);
9555 setState(1770);
9556 match(ZONE);
9557 }
9558 }
9559
9560 setState(1773);
9561 match(STRING_);
9562 }
9563 }
9564 catch (RecognitionException re) {
9565 _localctx.exception = re;
9566 _errHandler.reportError(this, re);
9567 _errHandler.recover(this, re);
9568 }
9569 finally {
9570 exitRule();
9571 }
9572 return _localctx;
9573 }
9574
9575 public static class CastExprContext extends ParserRuleContext {
9576 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
9577 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
9578 public TerminalNode LP_(int i) {
9579 return getToken(SQLServerStatementParser.LP_, i);
9580 }
9581 public ExprContext expr() {
9582 return getRuleContext(ExprContext.class,0);
9583 }
9584 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
9585 public DataTypeContext dataType() {
9586 return getRuleContext(DataTypeContext.class,0);
9587 }
9588 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
9589 public TerminalNode RP_(int i) {
9590 return getToken(SQLServerStatementParser.RP_, i);
9591 }
9592 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9593 public CastExprContext(ParserRuleContext parent, int invokingState) {
9594 super(parent, invokingState);
9595 }
9596 @Override public int getRuleIndex() { return RULE_castExpr; }
9597 @Override
9598 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9599 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastExpr(this);
9600 else return visitor.visitChildren(this);
9601 }
9602 }
9603
9604 public final CastExprContext castExpr() throws RecognitionException {
9605 CastExprContext _localctx = new CastExprContext(_ctx, getState());
9606 enterRule(_localctx, 164, RULE_castExpr);
9607 int _la;
9608 try {
9609 enterOuterAlt(_localctx, 1);
9610 {
9611 setState(1775);
9612 match(CAST);
9613 setState(1776);
9614 match(LP_);
9615 setState(1777);
9616 expr(0);
9617 setState(1778);
9618 match(AS);
9619 setState(1779);
9620 dataType();
9621 setState(1783);
9622 _errHandler.sync(this);
9623 _la = _input.LA(1);
9624 if (_la==LP_) {
9625 {
9626 setState(1780);
9627 match(LP_);
9628 setState(1781);
9629 match(NUMBER_);
9630 setState(1782);
9631 match(RP_);
9632 }
9633 }
9634
9635 setState(1785);
9636 match(RP_);
9637 }
9638 }
9639 catch (RecognitionException re) {
9640 _localctx.exception = re;
9641 _errHandler.reportError(this, re);
9642 _errHandler.recover(this, re);
9643 }
9644 finally {
9645 exitRule();
9646 }
9647 return _localctx;
9648 }
9649
9650 public static class ConvertExprContext extends ParserRuleContext {
9651 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
9652 public DataTypeContext dataType() {
9653 return getRuleContext(DataTypeContext.class,0);
9654 }
9655 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9656 public TerminalNode COMMA_(int i) {
9657 return getToken(SQLServerStatementParser.COMMA_, i);
9658 }
9659 public ExprContext expr() {
9660 return getRuleContext(ExprContext.class,0);
9661 }
9662 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9663 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
9664 public TerminalNode NUMBER_(int i) {
9665 return getToken(SQLServerStatementParser.NUMBER_, i);
9666 }
9667 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9668 public ConvertExprContext(ParserRuleContext parent, int invokingState) {
9669 super(parent, invokingState);
9670 }
9671 @Override public int getRuleIndex() { return RULE_convertExpr; }
9672 @Override
9673 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9674 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertExpr(this);
9675 else return visitor.visitChildren(this);
9676 }
9677 }
9678
9679 public final ConvertExprContext convertExpr() throws RecognitionException {
9680 ConvertExprContext _localctx = new ConvertExprContext(_ctx, getState());
9681 enterRule(_localctx, 166, RULE_convertExpr);
9682 int _la;
9683 try {
9684 enterOuterAlt(_localctx, 1);
9685 {
9686 setState(1787);
9687 match(CONVERT);
9688 {
9689 setState(1788);
9690 dataType();
9691 setState(1792);
9692 _errHandler.sync(this);
9693 _la = _input.LA(1);
9694 if (_la==LP_) {
9695 {
9696 setState(1789);
9697 match(LP_);
9698 setState(1790);
9699 match(NUMBER_);
9700 setState(1791);
9701 match(RP_);
9702 }
9703 }
9704
9705 setState(1794);
9706 match(COMMA_);
9707 setState(1795);
9708 expr(0);
9709 setState(1798);
9710 _errHandler.sync(this);
9711 switch ( getInterpreter().adaptivePredict(_input,99,_ctx) ) {
9712 case 1:
9713 {
9714 setState(1796);
9715 match(COMMA_);
9716 setState(1797);
9717 match(NUMBER_);
9718 }
9719 break;
9720 }
9721 }
9722 }
9723 }
9724 catch (RecognitionException re) {
9725 _localctx.exception = re;
9726 _errHandler.reportError(this, re);
9727 _errHandler.recover(this, re);
9728 }
9729 finally {
9730 exitRule();
9731 }
9732 return _localctx;
9733 }
9734
9735 public static class WindowedFunctionContext extends ParserRuleContext {
9736 public FunctionCallContext functionCall() {
9737 return getRuleContext(FunctionCallContext.class,0);
9738 }
9739 public OverClauseContext overClause() {
9740 return getRuleContext(OverClauseContext.class,0);
9741 }
9742 public WindowedFunctionContext(ParserRuleContext parent, int invokingState) {
9743 super(parent, invokingState);
9744 }
9745 @Override public int getRuleIndex() { return RULE_windowedFunction; }
9746 @Override
9747 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9748 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowedFunction(this);
9749 else return visitor.visitChildren(this);
9750 }
9751 }
9752
9753 public final WindowedFunctionContext windowedFunction() throws RecognitionException {
9754 WindowedFunctionContext _localctx = new WindowedFunctionContext(_ctx, getState());
9755 enterRule(_localctx, 168, RULE_windowedFunction);
9756 try {
9757 enterOuterAlt(_localctx, 1);
9758 {
9759 setState(1800);
9760 functionCall();
9761 setState(1801);
9762 overClause();
9763 }
9764 }
9765 catch (RecognitionException re) {
9766 _localctx.exception = re;
9767 _errHandler.reportError(this, re);
9768 _errHandler.recover(this, re);
9769 }
9770 finally {
9771 exitRule();
9772 }
9773 return _localctx;
9774 }
9775
9776 public static class OverClauseContext extends ParserRuleContext {
9777 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
9778 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9779 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9780 public PartitionByClauseContext partitionByClause() {
9781 return getRuleContext(PartitionByClauseContext.class,0);
9782 }
9783 public OrderByClauseContext orderByClause() {
9784 return getRuleContext(OrderByClauseContext.class,0);
9785 }
9786 public RowRangeClauseContext rowRangeClause() {
9787 return getRuleContext(RowRangeClauseContext.class,0);
9788 }
9789 public OverClauseContext(ParserRuleContext parent, int invokingState) {
9790 super(parent, invokingState);
9791 }
9792 @Override public int getRuleIndex() { return RULE_overClause; }
9793 @Override
9794 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9795 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOverClause(this);
9796 else return visitor.visitChildren(this);
9797 }
9798 }
9799
9800 public final OverClauseContext overClause() throws RecognitionException {
9801 OverClauseContext _localctx = new OverClauseContext(_ctx, getState());
9802 enterRule(_localctx, 170, RULE_overClause);
9803 int _la;
9804 try {
9805 enterOuterAlt(_localctx, 1);
9806 {
9807 setState(1803);
9808 match(OVER);
9809 setState(1804);
9810 match(LP_);
9811 setState(1806);
9812 _errHandler.sync(this);
9813 _la = _input.LA(1);
9814 if (_la==PARTITION) {
9815 {
9816 setState(1805);
9817 partitionByClause();
9818 }
9819 }
9820
9821 setState(1809);
9822 _errHandler.sync(this);
9823 _la = _input.LA(1);
9824 if (_la==ORDER) {
9825 {
9826 setState(1808);
9827 orderByClause();
9828 }
9829 }
9830
9831 setState(1812);
9832 _errHandler.sync(this);
9833 _la = _input.LA(1);
9834 if (_la==ROWS || _la==RANGE) {
9835 {
9836 setState(1811);
9837 rowRangeClause();
9838 }
9839 }
9840
9841 setState(1814);
9842 match(RP_);
9843 }
9844 }
9845 catch (RecognitionException re) {
9846 _localctx.exception = re;
9847 _errHandler.reportError(this, re);
9848 _errHandler.recover(this, re);
9849 }
9850 finally {
9851 exitRule();
9852 }
9853 return _localctx;
9854 }
9855
9856 public static class PartitionByClauseContext extends ParserRuleContext {
9857 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
9858 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
9859 public List<ExprContext> expr() {
9860 return getRuleContexts(ExprContext.class);
9861 }
9862 public ExprContext expr(int i) {
9863 return getRuleContext(ExprContext.class,i);
9864 }
9865 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9866 public TerminalNode COMMA_(int i) {
9867 return getToken(SQLServerStatementParser.COMMA_, i);
9868 }
9869 public PartitionByClauseContext(ParserRuleContext parent, int invokingState) {
9870 super(parent, invokingState);
9871 }
9872 @Override public int getRuleIndex() { return RULE_partitionByClause; }
9873 @Override
9874 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9875 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionByClause(this);
9876 else return visitor.visitChildren(this);
9877 }
9878 }
9879
9880 public final PartitionByClauseContext partitionByClause() throws RecognitionException {
9881 PartitionByClauseContext _localctx = new PartitionByClauseContext(_ctx, getState());
9882 enterRule(_localctx, 172, RULE_partitionByClause);
9883 int _la;
9884 try {
9885 enterOuterAlt(_localctx, 1);
9886 {
9887 setState(1816);
9888 match(PARTITION);
9889 setState(1817);
9890 match(BY);
9891 setState(1818);
9892 expr(0);
9893 setState(1823);
9894 _errHandler.sync(this);
9895 _la = _input.LA(1);
9896 while (_la==COMMA_) {
9897 {
9898 {
9899 setState(1819);
9900 match(COMMA_);
9901 setState(1820);
9902 expr(0);
9903 }
9904 }
9905 setState(1825);
9906 _errHandler.sync(this);
9907 _la = _input.LA(1);
9908 }
9909 }
9910 }
9911 catch (RecognitionException re) {
9912 _localctx.exception = re;
9913 _errHandler.reportError(this, re);
9914 _errHandler.recover(this, re);
9915 }
9916 finally {
9917 exitRule();
9918 }
9919 return _localctx;
9920 }
9921
9922 public static class RowRangeClauseContext extends ParserRuleContext {
9923 public WindowFrameExtentContext windowFrameExtent() {
9924 return getRuleContext(WindowFrameExtentContext.class,0);
9925 }
9926 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
9927 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
9928 public RowRangeClauseContext(ParserRuleContext parent, int invokingState) {
9929 super(parent, invokingState);
9930 }
9931 @Override public int getRuleIndex() { return RULE_rowRangeClause; }
9932 @Override
9933 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9934 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRowRangeClause(this);
9935 else return visitor.visitChildren(this);
9936 }
9937 }
9938
9939 public final RowRangeClauseContext rowRangeClause() throws RecognitionException {
9940 RowRangeClauseContext _localctx = new RowRangeClauseContext(_ctx, getState());
9941 enterRule(_localctx, 174, RULE_rowRangeClause);
9942 int _la;
9943 try {
9944 enterOuterAlt(_localctx, 1);
9945 {
9946 setState(1826);
9947 _la = _input.LA(1);
9948 if ( !(_la==ROWS || _la==RANGE) ) {
9949 _errHandler.recoverInline(this);
9950 }
9951 else {
9952 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9953 _errHandler.reportMatch(this);
9954 consume();
9955 }
9956 setState(1827);
9957 windowFrameExtent();
9958 }
9959 }
9960 catch (RecognitionException re) {
9961 _localctx.exception = re;
9962 _errHandler.reportError(this, re);
9963 _errHandler.recover(this, re);
9964 }
9965 finally {
9966 exitRule();
9967 }
9968 return _localctx;
9969 }
9970
9971 public static class WindowFrameExtentContext extends ParserRuleContext {
9972 public WindowFramePrecedingContext windowFramePreceding() {
9973 return getRuleContext(WindowFramePrecedingContext.class,0);
9974 }
9975 public WindowFrameBetweenContext windowFrameBetween() {
9976 return getRuleContext(WindowFrameBetweenContext.class,0);
9977 }
9978 public WindowFrameExtentContext(ParserRuleContext parent, int invokingState) {
9979 super(parent, invokingState);
9980 }
9981 @Override public int getRuleIndex() { return RULE_windowFrameExtent; }
9982 @Override
9983 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9984 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameExtent(this);
9985 else return visitor.visitChildren(this);
9986 }
9987 }
9988
9989 public final WindowFrameExtentContext windowFrameExtent() throws RecognitionException {
9990 WindowFrameExtentContext _localctx = new WindowFrameExtentContext(_ctx, getState());
9991 enterRule(_localctx, 176, RULE_windowFrameExtent);
9992 try {
9993 setState(1831);
9994 _errHandler.sync(this);
9995 switch (_input.LA(1)) {
9996 case CURRENT:
9997 case UNBOUNDED:
9998 case NUMBER_:
9999 enterOuterAlt(_localctx, 1);
10000 {
10001 setState(1829);
10002 windowFramePreceding();
10003 }
10004 break;
10005 case BETWEEN:
10006 enterOuterAlt(_localctx, 2);
10007 {
10008 setState(1830);
10009 windowFrameBetween();
10010 }
10011 break;
10012 default:
10013 throw new NoViableAltException(this);
10014 }
10015 }
10016 catch (RecognitionException re) {
10017 _localctx.exception = re;
10018 _errHandler.reportError(this, re);
10019 _errHandler.recover(this, re);
10020 }
10021 finally {
10022 exitRule();
10023 }
10024 return _localctx;
10025 }
10026
10027 public static class WindowFrameBetweenContext extends ParserRuleContext {
10028 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
10029 public List<WindowFrameBoundContext> windowFrameBound() {
10030 return getRuleContexts(WindowFrameBoundContext.class);
10031 }
10032 public WindowFrameBoundContext windowFrameBound(int i) {
10033 return getRuleContext(WindowFrameBoundContext.class,i);
10034 }
10035 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
10036 public WindowFrameBetweenContext(ParserRuleContext parent, int invokingState) {
10037 super(parent, invokingState);
10038 }
10039 @Override public int getRuleIndex() { return RULE_windowFrameBetween; }
10040 @Override
10041 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10042 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBetween(this);
10043 else return visitor.visitChildren(this);
10044 }
10045 }
10046
10047 public final WindowFrameBetweenContext windowFrameBetween() throws RecognitionException {
10048 WindowFrameBetweenContext _localctx = new WindowFrameBetweenContext(_ctx, getState());
10049 enterRule(_localctx, 178, RULE_windowFrameBetween);
10050 try {
10051 enterOuterAlt(_localctx, 1);
10052 {
10053 setState(1833);
10054 match(BETWEEN);
10055 setState(1834);
10056 windowFrameBound();
10057 setState(1835);
10058 match(AND);
10059 setState(1836);
10060 windowFrameBound();
10061 }
10062 }
10063 catch (RecognitionException re) {
10064 _localctx.exception = re;
10065 _errHandler.reportError(this, re);
10066 _errHandler.recover(this, re);
10067 }
10068 finally {
10069 exitRule();
10070 }
10071 return _localctx;
10072 }
10073
10074 public static class WindowFrameBoundContext extends ParserRuleContext {
10075 public WindowFramePrecedingContext windowFramePreceding() {
10076 return getRuleContext(WindowFramePrecedingContext.class,0);
10077 }
10078 public WindowFrameFollowingContext windowFrameFollowing() {
10079 return getRuleContext(WindowFrameFollowingContext.class,0);
10080 }
10081 public WindowFrameBoundContext(ParserRuleContext parent, int invokingState) {
10082 super(parent, invokingState);
10083 }
10084 @Override public int getRuleIndex() { return RULE_windowFrameBound; }
10085 @Override
10086 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10087 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBound(this);
10088 else return visitor.visitChildren(this);
10089 }
10090 }
10091
10092 public final WindowFrameBoundContext windowFrameBound() throws RecognitionException {
10093 WindowFrameBoundContext _localctx = new WindowFrameBoundContext(_ctx, getState());
10094 enterRule(_localctx, 180, RULE_windowFrameBound);
10095 try {
10096 setState(1840);
10097 _errHandler.sync(this);
10098 switch ( getInterpreter().adaptivePredict(_input,105,_ctx) ) {
10099 case 1:
10100 enterOuterAlt(_localctx, 1);
10101 {
10102 setState(1838);
10103 windowFramePreceding();
10104 }
10105 break;
10106 case 2:
10107 enterOuterAlt(_localctx, 2);
10108 {
10109 setState(1839);
10110 windowFrameFollowing();
10111 }
10112 break;
10113 }
10114 }
10115 catch (RecognitionException re) {
10116 _localctx.exception = re;
10117 _errHandler.reportError(this, re);
10118 _errHandler.recover(this, re);
10119 }
10120 finally {
10121 exitRule();
10122 }
10123 return _localctx;
10124 }
10125
10126 public static class WindowFramePrecedingContext extends ParserRuleContext {
10127 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
10128 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
10129 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10130 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
10131 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
10132 public WindowFramePrecedingContext(ParserRuleContext parent, int invokingState) {
10133 super(parent, invokingState);
10134 }
10135 @Override public int getRuleIndex() { return RULE_windowFramePreceding; }
10136 @Override
10137 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10138 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFramePreceding(this);
10139 else return visitor.visitChildren(this);
10140 }
10141 }
10142
10143 public final WindowFramePrecedingContext windowFramePreceding() throws RecognitionException {
10144 WindowFramePrecedingContext _localctx = new WindowFramePrecedingContext(_ctx, getState());
10145 enterRule(_localctx, 182, RULE_windowFramePreceding);
10146 try {
10147 setState(1848);
10148 _errHandler.sync(this);
10149 switch (_input.LA(1)) {
10150 case UNBOUNDED:
10151 enterOuterAlt(_localctx, 1);
10152 {
10153 setState(1842);
10154 match(UNBOUNDED);
10155 setState(1843);
10156 match(PRECEDING);
10157 }
10158 break;
10159 case NUMBER_:
10160 enterOuterAlt(_localctx, 2);
10161 {
10162 setState(1844);
10163 match(NUMBER_);
10164 setState(1845);
10165 match(PRECEDING);
10166 }
10167 break;
10168 case CURRENT:
10169 enterOuterAlt(_localctx, 3);
10170 {
10171 setState(1846);
10172 match(CURRENT);
10173 setState(1847);
10174 match(ROW);
10175 }
10176 break;
10177 default:
10178 throw new NoViableAltException(this);
10179 }
10180 }
10181 catch (RecognitionException re) {
10182 _localctx.exception = re;
10183 _errHandler.reportError(this, re);
10184 _errHandler.recover(this, re);
10185 }
10186 finally {
10187 exitRule();
10188 }
10189 return _localctx;
10190 }
10191
10192 public static class WindowFrameFollowingContext extends ParserRuleContext {
10193 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
10194 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
10195 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10196 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
10197 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
10198 public WindowFrameFollowingContext(ParserRuleContext parent, int invokingState) {
10199 super(parent, invokingState);
10200 }
10201 @Override public int getRuleIndex() { return RULE_windowFrameFollowing; }
10202 @Override
10203 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10204 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameFollowing(this);
10205 else return visitor.visitChildren(this);
10206 }
10207 }
10208
10209 public final WindowFrameFollowingContext windowFrameFollowing() throws RecognitionException {
10210 WindowFrameFollowingContext _localctx = new WindowFrameFollowingContext(_ctx, getState());
10211 enterRule(_localctx, 184, RULE_windowFrameFollowing);
10212 try {
10213 setState(1856);
10214 _errHandler.sync(this);
10215 switch (_input.LA(1)) {
10216 case UNBOUNDED:
10217 enterOuterAlt(_localctx, 1);
10218 {
10219 setState(1850);
10220 match(UNBOUNDED);
10221 setState(1851);
10222 match(FOLLOWING);
10223 }
10224 break;
10225 case NUMBER_:
10226 enterOuterAlt(_localctx, 2);
10227 {
10228 setState(1852);
10229 match(NUMBER_);
10230 setState(1853);
10231 match(FOLLOWING);
10232 }
10233 break;
10234 case CURRENT:
10235 enterOuterAlt(_localctx, 3);
10236 {
10237 setState(1854);
10238 match(CURRENT);
10239 setState(1855);
10240 match(ROW);
10241 }
10242 break;
10243 default:
10244 throw new NoViableAltException(this);
10245 }
10246 }
10247 catch (RecognitionException re) {
10248 _localctx.exception = re;
10249 _errHandler.reportError(this, re);
10250 _errHandler.recover(this, re);
10251 }
10252 finally {
10253 exitRule();
10254 }
10255 return _localctx;
10256 }
10257
10258 public static class ColumnNameWithSortContext extends ParserRuleContext {
10259 public ColumnNameContext columnName() {
10260 return getRuleContext(ColumnNameContext.class,0);
10261 }
10262 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
10263 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
10264 public ColumnNameWithSortContext(ParserRuleContext parent, int invokingState) {
10265 super(parent, invokingState);
10266 }
10267 @Override public int getRuleIndex() { return RULE_columnNameWithSort; }
10268 @Override
10269 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10270 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNameWithSort(this);
10271 else return visitor.visitChildren(this);
10272 }
10273 }
10274
10275 public final ColumnNameWithSortContext columnNameWithSort() throws RecognitionException {
10276 ColumnNameWithSortContext _localctx = new ColumnNameWithSortContext(_ctx, getState());
10277 enterRule(_localctx, 186, RULE_columnNameWithSort);
10278 int _la;
10279 try {
10280 enterOuterAlt(_localctx, 1);
10281 {
10282 setState(1858);
10283 columnName();
10284 setState(1860);
10285 _errHandler.sync(this);
10286 _la = _input.LA(1);
10287 if (_la==ASC || _la==DESC) {
10288 {
10289 setState(1859);
10290 _la = _input.LA(1);
10291 if ( !(_la==ASC || _la==DESC) ) {
10292 _errHandler.recoverInline(this);
10293 }
10294 else {
10295 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10296 _errHandler.reportMatch(this);
10297 consume();
10298 }
10299 }
10300 }
10301
10302 }
10303 }
10304 catch (RecognitionException re) {
10305 _localctx.exception = re;
10306 _errHandler.reportError(this, re);
10307 _errHandler.recover(this, re);
10308 }
10309 finally {
10310 exitRule();
10311 }
10312 return _localctx;
10313 }
10314
10315 public static class IndexOptionContext extends ParserRuleContext {
10316 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
10317 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
10318 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10319 public EqOnOffOptionContext eqOnOffOption() {
10320 return getRuleContext(EqOnOffOptionContext.class,0);
10321 }
10322 public EqTimeContext eqTime() {
10323 return getRuleContext(EqTimeContext.class,0);
10324 }
10325 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
10326 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
10327 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
10328 public CompressionOptionContext compressionOption() {
10329 return getRuleContext(CompressionOptionContext.class,0);
10330 }
10331 public OnPartitionClauseContext onPartitionClause() {
10332 return getRuleContext(OnPartitionClauseContext.class,0);
10333 }
10334 public IndexOptionContext(ParserRuleContext parent, int invokingState) {
10335 super(parent, invokingState);
10336 }
10337 @Override public int getRuleIndex() { return RULE_indexOption; }
10338 @Override
10339 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10340 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOption(this);
10341 else return visitor.visitChildren(this);
10342 }
10343 }
10344
10345 public final IndexOptionContext indexOption() throws RecognitionException {
10346 IndexOptionContext _localctx = new IndexOptionContext(_ctx, getState());
10347 enterRule(_localctx, 188, RULE_indexOption);
10348 int _la;
10349 try {
10350 setState(1875);
10351 _errHandler.sync(this);
10352 switch ( getInterpreter().adaptivePredict(_input,110,_ctx) ) {
10353 case 1:
10354 enterOuterAlt(_localctx, 1);
10355 {
10356 setState(1862);
10357 match(FILLFACTOR);
10358 setState(1863);
10359 match(EQ_);
10360 setState(1864);
10361 match(NUMBER_);
10362 }
10363 break;
10364 case 2:
10365 enterOuterAlt(_localctx, 2);
10366 {
10367 setState(1865);
10368 eqOnOffOption();
10369 }
10370 break;
10371 case 3:
10372 enterOuterAlt(_localctx, 3);
10373 {
10374 setState(1866);
10375 _la = _input.LA(1);
10376 if ( !(_la==COMPRESSION_DELAY || _la==MAX_DURATION) ) {
10377 _errHandler.recoverInline(this);
10378 }
10379 else {
10380 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10381 _errHandler.reportMatch(this);
10382 consume();
10383 }
10384 setState(1867);
10385 eqTime();
10386 }
10387 break;
10388 case 4:
10389 enterOuterAlt(_localctx, 4);
10390 {
10391 setState(1868);
10392 match(MAXDOP);
10393 setState(1869);
10394 match(EQ_);
10395 setState(1870);
10396 match(NUMBER_);
10397 }
10398 break;
10399 case 5:
10400 enterOuterAlt(_localctx, 5);
10401 {
10402 setState(1871);
10403 compressionOption();
10404 setState(1873);
10405 _errHandler.sync(this);
10406 _la = _input.LA(1);
10407 if (_la==ON) {
10408 {
10409 setState(1872);
10410 onPartitionClause();
10411 }
10412 }
10413
10414 }
10415 break;
10416 }
10417 }
10418 catch (RecognitionException re) {
10419 _localctx.exception = re;
10420 _errHandler.reportError(this, re);
10421 _errHandler.recover(this, re);
10422 }
10423 finally {
10424 exitRule();
10425 }
10426 return _localctx;
10427 }
10428
10429 public static class CompressionOptionContext extends ParserRuleContext {
10430 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
10431 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
10432 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
10433 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
10434 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
10435 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
10436 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
10437 public CompressionOptionContext(ParserRuleContext parent, int invokingState) {
10438 super(parent, invokingState);
10439 }
10440 @Override public int getRuleIndex() { return RULE_compressionOption; }
10441 @Override
10442 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10443 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompressionOption(this);
10444 else return visitor.visitChildren(this);
10445 }
10446 }
10447
10448 public final CompressionOptionContext compressionOption() throws RecognitionException {
10449 CompressionOptionContext _localctx = new CompressionOptionContext(_ctx, getState());
10450 enterRule(_localctx, 190, RULE_compressionOption);
10451 int _la;
10452 try {
10453 enterOuterAlt(_localctx, 1);
10454 {
10455 setState(1877);
10456 match(DATA_COMPRESSION);
10457 setState(1878);
10458 match(EQ_);
10459 setState(1879);
10460 _la = _input.LA(1);
10461 if ( !(((((_la - 241)) & ~0x3f) == 0 && ((1L << (_la - 241)) & ((1L << (ROW - 241)) | (1L << (COLUMNSTORE - 241)) | (1L << (NONE - 241)) | (1L << (PAGE - 241)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
10462 _errHandler.recoverInline(this);
10463 }
10464 else {
10465 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10466 _errHandler.reportMatch(this);
10467 consume();
10468 }
10469 }
10470 }
10471 catch (RecognitionException re) {
10472 _localctx.exception = re;
10473 _errHandler.reportError(this, re);
10474 _errHandler.recover(this, re);
10475 }
10476 finally {
10477 exitRule();
10478 }
10479 return _localctx;
10480 }
10481
10482 public static class EqTimeContext extends ParserRuleContext {
10483 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
10484 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10485 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
10486 public EqTimeContext(ParserRuleContext parent, int invokingState) {
10487 super(parent, invokingState);
10488 }
10489 @Override public int getRuleIndex() { return RULE_eqTime; }
10490 @Override
10491 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10492 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqTime(this);
10493 else return visitor.visitChildren(this);
10494 }
10495 }
10496
10497 public final EqTimeContext eqTime() throws RecognitionException {
10498 EqTimeContext _localctx = new EqTimeContext(_ctx, getState());
10499 enterRule(_localctx, 192, RULE_eqTime);
10500 int _la;
10501 try {
10502 enterOuterAlt(_localctx, 1);
10503 {
10504 setState(1881);
10505 match(EQ_);
10506 setState(1882);
10507 match(NUMBER_);
10508 setState(1884);
10509 _errHandler.sync(this);
10510 _la = _input.LA(1);
10511 if (_la==MINUTES) {
10512 {
10513 setState(1883);
10514 match(MINUTES);
10515 }
10516 }
10517
10518 }
10519 }
10520 catch (RecognitionException re) {
10521 _localctx.exception = re;
10522 _errHandler.reportError(this, re);
10523 _errHandler.recover(this, re);
10524 }
10525 finally {
10526 exitRule();
10527 }
10528 return _localctx;
10529 }
10530
10531 public static class EqOnOffOptionContext extends ParserRuleContext {
10532 public EqKeyContext eqKey() {
10533 return getRuleContext(EqKeyContext.class,0);
10534 }
10535 public EqOnOffContext eqOnOff() {
10536 return getRuleContext(EqOnOffContext.class,0);
10537 }
10538 public EqOnOffOptionContext(ParserRuleContext parent, int invokingState) {
10539 super(parent, invokingState);
10540 }
10541 @Override public int getRuleIndex() { return RULE_eqOnOffOption; }
10542 @Override
10543 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10544 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOffOption(this);
10545 else return visitor.visitChildren(this);
10546 }
10547 }
10548
10549 public final EqOnOffOptionContext eqOnOffOption() throws RecognitionException {
10550 EqOnOffOptionContext _localctx = new EqOnOffOptionContext(_ctx, getState());
10551 enterRule(_localctx, 194, RULE_eqOnOffOption);
10552 try {
10553 enterOuterAlt(_localctx, 1);
10554 {
10555 setState(1886);
10556 eqKey();
10557 setState(1887);
10558 eqOnOff();
10559 }
10560 }
10561 catch (RecognitionException re) {
10562 _localctx.exception = re;
10563 _errHandler.reportError(this, re);
10564 _errHandler.recover(this, re);
10565 }
10566 finally {
10567 exitRule();
10568 }
10569 return _localctx;
10570 }
10571
10572 public static class EqKeyContext extends ParserRuleContext {
10573 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
10574 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
10575 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
10576 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
10577 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
10578 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
10579 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
10580 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
10581 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
10582 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
10583 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
10584 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
10585 public EqKeyContext(ParserRuleContext parent, int invokingState) {
10586 super(parent, invokingState);
10587 }
10588 @Override public int getRuleIndex() { return RULE_eqKey; }
10589 @Override
10590 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10591 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqKey(this);
10592 else return visitor.visitChildren(this);
10593 }
10594 }
10595
10596 public final EqKeyContext eqKey() throws RecognitionException {
10597 EqKeyContext _localctx = new EqKeyContext(_ctx, getState());
10598 enterRule(_localctx, 196, RULE_eqKey);
10599 int _la;
10600 try {
10601 enterOuterAlt(_localctx, 1);
10602 {
10603 setState(1889);
10604 _la = _input.LA(1);
10605 if ( !(_la==ONLINE || _la==RESUMABLE || ((((_la - 398)) & ~0x3f) == 0 && ((1L << (_la - 398)) & ((1L << (ALLOW_PAGE_LOCKS - 398)) | (1L << (ALLOW_ROW_LOCKS - 398)) | (1L << (COMPRESSION_DELAY - 398)) | (1L << (STATISTICS_INCREMENTAL - 398)) | (1L << (STATISTICS_NORECOMPUTE - 398)) | (1L << (SORT_IN_TEMPDB - 398)) | (1L << (IGNORE_DUP_KEY - 398)) | (1L << (PAD_INDEX - 398)) | (1L << (DROP_EXISTING - 398)))) != 0) || _la==OPTIMIZE_FOR_SEQUENTIAL_KEY) ) {
10606 _errHandler.recoverInline(this);
10607 }
10608 else {
10609 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10610 _errHandler.reportMatch(this);
10611 consume();
10612 }
10613 }
10614 }
10615 catch (RecognitionException re) {
10616 _localctx.exception = re;
10617 _errHandler.reportError(this, re);
10618 _errHandler.recover(this, re);
10619 }
10620 finally {
10621 exitRule();
10622 }
10623 return _localctx;
10624 }
10625
10626 public static class EqOnOffContext extends ParserRuleContext {
10627 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
10628 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10629 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
10630 public EqOnOffContext(ParserRuleContext parent, int invokingState) {
10631 super(parent, invokingState);
10632 }
10633 @Override public int getRuleIndex() { return RULE_eqOnOff; }
10634 @Override
10635 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10636 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOff(this);
10637 else return visitor.visitChildren(this);
10638 }
10639 }
10640
10641 public final EqOnOffContext eqOnOff() throws RecognitionException {
10642 EqOnOffContext _localctx = new EqOnOffContext(_ctx, getState());
10643 enterRule(_localctx, 198, RULE_eqOnOff);
10644 int _la;
10645 try {
10646 enterOuterAlt(_localctx, 1);
10647 {
10648 setState(1891);
10649 match(EQ_);
10650 setState(1892);
10651 _la = _input.LA(1);
10652 if ( !(_la==ON || _la==OFF) ) {
10653 _errHandler.recoverInline(this);
10654 }
10655 else {
10656 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10657 _errHandler.reportMatch(this);
10658 consume();
10659 }
10660 }
10661 }
10662 catch (RecognitionException re) {
10663 _localctx.exception = re;
10664 _errHandler.reportError(this, re);
10665 _errHandler.recover(this, re);
10666 }
10667 finally {
10668 exitRule();
10669 }
10670 return _localctx;
10671 }
10672
10673 public static class OnPartitionClauseContext extends ParserRuleContext {
10674 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10675 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
10676 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10677 public PartitionExpressionsContext partitionExpressions() {
10678 return getRuleContext(PartitionExpressionsContext.class,0);
10679 }
10680 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10681 public OnPartitionClauseContext(ParserRuleContext parent, int invokingState) {
10682 super(parent, invokingState);
10683 }
10684 @Override public int getRuleIndex() { return RULE_onPartitionClause; }
10685 @Override
10686 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10687 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnPartitionClause(this);
10688 else return visitor.visitChildren(this);
10689 }
10690 }
10691
10692 public final OnPartitionClauseContext onPartitionClause() throws RecognitionException {
10693 OnPartitionClauseContext _localctx = new OnPartitionClauseContext(_ctx, getState());
10694 enterRule(_localctx, 200, RULE_onPartitionClause);
10695 try {
10696 enterOuterAlt(_localctx, 1);
10697 {
10698 setState(1894);
10699 match(ON);
10700 setState(1895);
10701 match(PARTITIONS);
10702 setState(1896);
10703 match(LP_);
10704 setState(1897);
10705 partitionExpressions();
10706 setState(1898);
10707 match(RP_);
10708 }
10709 }
10710 catch (RecognitionException re) {
10711 _localctx.exception = re;
10712 _errHandler.reportError(this, re);
10713 _errHandler.recover(this, re);
10714 }
10715 finally {
10716 exitRule();
10717 }
10718 return _localctx;
10719 }
10720
10721 public static class PartitionExpressionsContext extends ParserRuleContext {
10722 public List<PartitionExpressionContext> partitionExpression() {
10723 return getRuleContexts(PartitionExpressionContext.class);
10724 }
10725 public PartitionExpressionContext partitionExpression(int i) {
10726 return getRuleContext(PartitionExpressionContext.class,i);
10727 }
10728 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10729 public TerminalNode COMMA_(int i) {
10730 return getToken(SQLServerStatementParser.COMMA_, i);
10731 }
10732 public PartitionExpressionsContext(ParserRuleContext parent, int invokingState) {
10733 super(parent, invokingState);
10734 }
10735 @Override public int getRuleIndex() { return RULE_partitionExpressions; }
10736 @Override
10737 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10738 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpressions(this);
10739 else return visitor.visitChildren(this);
10740 }
10741 }
10742
10743 public final PartitionExpressionsContext partitionExpressions() throws RecognitionException {
10744 PartitionExpressionsContext _localctx = new PartitionExpressionsContext(_ctx, getState());
10745 enterRule(_localctx, 202, RULE_partitionExpressions);
10746 int _la;
10747 try {
10748 enterOuterAlt(_localctx, 1);
10749 {
10750 setState(1900);
10751 partitionExpression();
10752 setState(1905);
10753 _errHandler.sync(this);
10754 _la = _input.LA(1);
10755 while (_la==COMMA_) {
10756 {
10757 {
10758 setState(1901);
10759 match(COMMA_);
10760 setState(1902);
10761 partitionExpression();
10762 }
10763 }
10764 setState(1907);
10765 _errHandler.sync(this);
10766 _la = _input.LA(1);
10767 }
10768 }
10769 }
10770 catch (RecognitionException re) {
10771 _localctx.exception = re;
10772 _errHandler.reportError(this, re);
10773 _errHandler.recover(this, re);
10774 }
10775 finally {
10776 exitRule();
10777 }
10778 return _localctx;
10779 }
10780
10781 public static class PartitionExpressionContext extends ParserRuleContext {
10782 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10783 public NumberRangeContext numberRange() {
10784 return getRuleContext(NumberRangeContext.class,0);
10785 }
10786 public PartitionExpressionContext(ParserRuleContext parent, int invokingState) {
10787 super(parent, invokingState);
10788 }
10789 @Override public int getRuleIndex() { return RULE_partitionExpression; }
10790 @Override
10791 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10792 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpression(this);
10793 else return visitor.visitChildren(this);
10794 }
10795 }
10796
10797 public final PartitionExpressionContext partitionExpression() throws RecognitionException {
10798 PartitionExpressionContext _localctx = new PartitionExpressionContext(_ctx, getState());
10799 enterRule(_localctx, 204, RULE_partitionExpression);
10800 try {
10801 setState(1910);
10802 _errHandler.sync(this);
10803 switch ( getInterpreter().adaptivePredict(_input,113,_ctx) ) {
10804 case 1:
10805 enterOuterAlt(_localctx, 1);
10806 {
10807 setState(1908);
10808 match(NUMBER_);
10809 }
10810 break;
10811 case 2:
10812 enterOuterAlt(_localctx, 2);
10813 {
10814 setState(1909);
10815 numberRange();
10816 }
10817 break;
10818 }
10819 }
10820 catch (RecognitionException re) {
10821 _localctx.exception = re;
10822 _errHandler.reportError(this, re);
10823 _errHandler.recover(this, re);
10824 }
10825 finally {
10826 exitRule();
10827 }
10828 return _localctx;
10829 }
10830
10831 public static class NumberRangeContext extends ParserRuleContext {
10832 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
10833 public TerminalNode NUMBER_(int i) {
10834 return getToken(SQLServerStatementParser.NUMBER_, i);
10835 }
10836 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
10837 public NumberRangeContext(ParserRuleContext parent, int invokingState) {
10838 super(parent, invokingState);
10839 }
10840 @Override public int getRuleIndex() { return RULE_numberRange; }
10841 @Override
10842 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10843 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberRange(this);
10844 else return visitor.visitChildren(this);
10845 }
10846 }
10847
10848 public final NumberRangeContext numberRange() throws RecognitionException {
10849 NumberRangeContext _localctx = new NumberRangeContext(_ctx, getState());
10850 enterRule(_localctx, 206, RULE_numberRange);
10851 try {
10852 enterOuterAlt(_localctx, 1);
10853 {
10854 setState(1912);
10855 match(NUMBER_);
10856 setState(1913);
10857 match(TO);
10858 setState(1914);
10859 match(NUMBER_);
10860 }
10861 }
10862 catch (RecognitionException re) {
10863 _localctx.exception = re;
10864 _errHandler.reportError(this, re);
10865 _errHandler.recover(this, re);
10866 }
10867 finally {
10868 exitRule();
10869 }
10870 return _localctx;
10871 }
10872
10873 public static class LowPriorityLockWaitContext extends ParserRuleContext {
10874 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
10875 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10876 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
10877 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
10878 public TerminalNode EQ_(int i) {
10879 return getToken(SQLServerStatementParser.EQ_, i);
10880 }
10881 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10882 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
10883 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
10884 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10885 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
10886 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
10887 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
10888 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
10889 public LowPriorityLockWaitContext(ParserRuleContext parent, int invokingState) {
10890 super(parent, invokingState);
10891 }
10892 @Override public int getRuleIndex() { return RULE_lowPriorityLockWait; }
10893 @Override
10894 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10895 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLowPriorityLockWait(this);
10896 else return visitor.visitChildren(this);
10897 }
10898 }
10899
10900 public final LowPriorityLockWaitContext lowPriorityLockWait() throws RecognitionException {
10901 LowPriorityLockWaitContext _localctx = new LowPriorityLockWaitContext(_ctx, getState());
10902 enterRule(_localctx, 208, RULE_lowPriorityLockWait);
10903 int _la;
10904 try {
10905 enterOuterAlt(_localctx, 1);
10906 {
10907 setState(1916);
10908 match(WAIT_AT_LOW_PRIORITY);
10909 setState(1917);
10910 match(LP_);
10911 setState(1918);
10912 match(MAX_DURATION);
10913 setState(1919);
10914 match(EQ_);
10915 setState(1920);
10916 match(NUMBER_);
10917 setState(1922);
10918 _errHandler.sync(this);
10919 _la = _input.LA(1);
10920 if (_la==MINUTES) {
10921 {
10922 setState(1921);
10923 match(MINUTES);
10924 }
10925 }
10926
10927 setState(1924);
10928 match(COMMA_);
10929 setState(1925);
10930 match(ABORT_AFTER_WAIT);
10931 setState(1926);
10932 match(EQ_);
10933 setState(1927);
10934 _la = _input.LA(1);
10935 if ( !(((((_la - 260)) & ~0x3f) == 0 && ((1L << (_la - 260)) & ((1L << (BLOCKERS - 260)) | (1L << (NONE - 260)) | (1L << (SELF - 260)))) != 0)) ) {
10936 _errHandler.recoverInline(this);
10937 }
10938 else {
10939 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10940 _errHandler.reportMatch(this);
10941 consume();
10942 }
10943 setState(1928);
10944 match(RP_);
10945 }
10946 }
10947 catch (RecognitionException re) {
10948 _localctx.exception = re;
10949 _errHandler.reportError(this, re);
10950 _errHandler.recover(this, re);
10951 }
10952 finally {
10953 exitRule();
10954 }
10955 return _localctx;
10956 }
10957
10958 public static class OnLowPriorLockWaitContext extends ParserRuleContext {
10959 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10960 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10961 public LowPriorityLockWaitContext lowPriorityLockWait() {
10962 return getRuleContext(LowPriorityLockWaitContext.class,0);
10963 }
10964 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10965 public OnLowPriorLockWaitContext(ParserRuleContext parent, int invokingState) {
10966 super(parent, invokingState);
10967 }
10968 @Override public int getRuleIndex() { return RULE_onLowPriorLockWait; }
10969 @Override
10970 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10971 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnLowPriorLockWait(this);
10972 else return visitor.visitChildren(this);
10973 }
10974 }
10975
10976 public final OnLowPriorLockWaitContext onLowPriorLockWait() throws RecognitionException {
10977 OnLowPriorLockWaitContext _localctx = new OnLowPriorLockWaitContext(_ctx, getState());
10978 enterRule(_localctx, 210, RULE_onLowPriorLockWait);
10979 int _la;
10980 try {
10981 enterOuterAlt(_localctx, 1);
10982 {
10983 setState(1930);
10984 match(ON);
10985 setState(1935);
10986 _errHandler.sync(this);
10987 _la = _input.LA(1);
10988 if (_la==LP_) {
10989 {
10990 setState(1931);
10991 match(LP_);
10992 setState(1932);
10993 lowPriorityLockWait();
10994 setState(1933);
10995 match(RP_);
10996 }
10997 }
10998
10999 }
11000 }
11001 catch (RecognitionException re) {
11002 _localctx.exception = re;
11003 _errHandler.reportError(this, re);
11004 _errHandler.recover(this, re);
11005 }
11006 finally {
11007 exitRule();
11008 }
11009 return _localctx;
11010 }
11011
11012 public static class IgnoredIdentifierContext extends ParserRuleContext {
11013 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
11014 public IgnoredIdentifierContext(ParserRuleContext parent, int invokingState) {
11015 super(parent, invokingState);
11016 }
11017 @Override public int getRuleIndex() { return RULE_ignoredIdentifier; }
11018 @Override
11019 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11020 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifier(this);
11021 else return visitor.visitChildren(this);
11022 }
11023 }
11024
11025 public final IgnoredIdentifierContext ignoredIdentifier() throws RecognitionException {
11026 IgnoredIdentifierContext _localctx = new IgnoredIdentifierContext(_ctx, getState());
11027 enterRule(_localctx, 212, RULE_ignoredIdentifier);
11028 try {
11029 enterOuterAlt(_localctx, 1);
11030 {
11031 setState(1937);
11032 match(IDENTIFIER_);
11033 }
11034 }
11035 catch (RecognitionException re) {
11036 _localctx.exception = re;
11037 _errHandler.reportError(this, re);
11038 _errHandler.recover(this, re);
11039 }
11040 finally {
11041 exitRule();
11042 }
11043 return _localctx;
11044 }
11045
11046 public static class IgnoredIdentifiersContext extends ParserRuleContext {
11047 public List<IgnoredIdentifierContext> ignoredIdentifier() {
11048 return getRuleContexts(IgnoredIdentifierContext.class);
11049 }
11050 public IgnoredIdentifierContext ignoredIdentifier(int i) {
11051 return getRuleContext(IgnoredIdentifierContext.class,i);
11052 }
11053 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
11054 public TerminalNode COMMA_(int i) {
11055 return getToken(SQLServerStatementParser.COMMA_, i);
11056 }
11057 public IgnoredIdentifiersContext(ParserRuleContext parent, int invokingState) {
11058 super(parent, invokingState);
11059 }
11060 @Override public int getRuleIndex() { return RULE_ignoredIdentifiers; }
11061 @Override
11062 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11063 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifiers(this);
11064 else return visitor.visitChildren(this);
11065 }
11066 }
11067
11068 public final IgnoredIdentifiersContext ignoredIdentifiers() throws RecognitionException {
11069 IgnoredIdentifiersContext _localctx = new IgnoredIdentifiersContext(_ctx, getState());
11070 enterRule(_localctx, 214, RULE_ignoredIdentifiers);
11071 try {
11072 int _alt;
11073 enterOuterAlt(_localctx, 1);
11074 {
11075 setState(1939);
11076 ignoredIdentifier();
11077 setState(1944);
11078 _errHandler.sync(this);
11079 _alt = getInterpreter().adaptivePredict(_input,116,_ctx);
11080 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
11081 if ( _alt==1 ) {
11082 {
11083 {
11084 setState(1940);
11085 match(COMMA_);
11086 setState(1941);
11087 ignoredIdentifier();
11088 }
11089 }
11090 }
11091 setState(1946);
11092 _errHandler.sync(this);
11093 _alt = getInterpreter().adaptivePredict(_input,116,_ctx);
11094 }
11095 }
11096 }
11097 catch (RecognitionException re) {
11098 _localctx.exception = re;
11099 _errHandler.reportError(this, re);
11100 _errHandler.recover(this, re);
11101 }
11102 finally {
11103 exitRule();
11104 }
11105 return _localctx;
11106 }
11107
11108 public static class MatchNoneContext extends ParserRuleContext {
11109 public MatchNoneContext(ParserRuleContext parent, int invokingState) {
11110 super(parent, invokingState);
11111 }
11112 @Override public int getRuleIndex() { return RULE_matchNone; }
11113 @Override
11114 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11115 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMatchNone(this);
11116 else return visitor.visitChildren(this);
11117 }
11118 }
11119
11120 public final MatchNoneContext matchNone() throws RecognitionException {
11121 MatchNoneContext _localctx = new MatchNoneContext(_ctx, getState());
11122 enterRule(_localctx, 216, RULE_matchNone);
11123 try {
11124 enterOuterAlt(_localctx, 1);
11125 {
11126 setState(1947);
11127 match(T__0);
11128 }
11129 }
11130 catch (RecognitionException re) {
11131 _localctx.exception = re;
11132 _errHandler.reportError(this, re);
11133 _errHandler.recover(this, re);
11134 }
11135 finally {
11136 exitRule();
11137 }
11138 return _localctx;
11139 }
11140
11141 public static class VariableNameContext extends ParserRuleContext {
11142 public IdentifierContext identifier() {
11143 return getRuleContext(IdentifierContext.class,0);
11144 }
11145 public VariableNameContext(ParserRuleContext parent, int invokingState) {
11146 super(parent, invokingState);
11147 }
11148 @Override public int getRuleIndex() { return RULE_variableName; }
11149 @Override
11150 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11151 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableName(this);
11152 else return visitor.visitChildren(this);
11153 }
11154 }
11155
11156 public final VariableNameContext variableName() throws RecognitionException {
11157 VariableNameContext _localctx = new VariableNameContext(_ctx, getState());
11158 enterRule(_localctx, 218, RULE_variableName);
11159 try {
11160 enterOuterAlt(_localctx, 1);
11161 {
11162 setState(1949);
11163 identifier();
11164 }
11165 }
11166 catch (RecognitionException re) {
11167 _localctx.exception = re;
11168 _errHandler.reportError(this, re);
11169 _errHandler.recover(this, re);
11170 }
11171 finally {
11172 exitRule();
11173 }
11174 return _localctx;
11175 }
11176
11177 public static class ExecuteAsClauseContext extends ParserRuleContext {
11178 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
11179 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
11180 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
11181 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
11182 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
11183 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
11184 public StringLiteralsContext stringLiterals() {
11185 return getRuleContext(StringLiteralsContext.class,0);
11186 }
11187 public ExecuteAsClauseContext(ParserRuleContext parent, int invokingState) {
11188 super(parent, invokingState);
11189 }
11190 @Override public int getRuleIndex() { return RULE_executeAsClause; }
11191 @Override
11192 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11193 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecuteAsClause(this);
11194 else return visitor.visitChildren(this);
11195 }
11196 }
11197
11198 public final ExecuteAsClauseContext executeAsClause() throws RecognitionException {
11199 ExecuteAsClauseContext _localctx = new ExecuteAsClauseContext(_ctx, getState());
11200 enterRule(_localctx, 220, RULE_executeAsClause);
11201 int _la;
11202 try {
11203 enterOuterAlt(_localctx, 1);
11204 {
11205 setState(1951);
11206 _la = _input.LA(1);
11207 if ( !(_la==EXECUTE || _la==EXEC) ) {
11208 _errHandler.recoverInline(this);
11209 }
11210 else {
11211 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11212 _errHandler.reportMatch(this);
11213 consume();
11214 }
11215 setState(1952);
11216 match(AS);
11217 setState(1957);
11218 _errHandler.sync(this);
11219 switch (_input.LA(1)) {
11220 case CALLER:
11221 {
11222 setState(1953);
11223 match(CALLER);
11224 }
11225 break;
11226 case SELF:
11227 {
11228 setState(1954);
11229 match(SELF);
11230 }
11231 break;
11232 case OWNER:
11233 {
11234 setState(1955);
11235 match(OWNER);
11236 }
11237 break;
11238 case STRING_:
11239 case NCHAR_TEXT:
11240 {
11241 setState(1956);
11242 stringLiterals();
11243 }
11244 break;
11245 default:
11246 throw new NoViableAltException(this);
11247 }
11248 }
11249 }
11250 catch (RecognitionException re) {
11251 _localctx.exception = re;
11252 _errHandler.reportError(this, re);
11253 _errHandler.recover(this, re);
11254 }
11255 finally {
11256 exitRule();
11257 }
11258 return _localctx;
11259 }
11260
11261 public static class TransactionNameContext extends ParserRuleContext {
11262 public IdentifierContext identifier() {
11263 return getRuleContext(IdentifierContext.class,0);
11264 }
11265 public TransactionNameContext(ParserRuleContext parent, int invokingState) {
11266 super(parent, invokingState);
11267 }
11268 @Override public int getRuleIndex() { return RULE_transactionName; }
11269 @Override
11270 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11271 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionName(this);
11272 else return visitor.visitChildren(this);
11273 }
11274 }
11275
11276 public final TransactionNameContext transactionName() throws RecognitionException {
11277 TransactionNameContext _localctx = new TransactionNameContext(_ctx, getState());
11278 enterRule(_localctx, 222, RULE_transactionName);
11279 try {
11280 enterOuterAlt(_localctx, 1);
11281 {
11282 setState(1959);
11283 identifier();
11284 }
11285 }
11286 catch (RecognitionException re) {
11287 _localctx.exception = re;
11288 _errHandler.reportError(this, re);
11289 _errHandler.recover(this, re);
11290 }
11291 finally {
11292 exitRule();
11293 }
11294 return _localctx;
11295 }
11296
11297 public static class TransactionVariableNameContext extends ParserRuleContext {
11298 public VariableNameContext variableName() {
11299 return getRuleContext(VariableNameContext.class,0);
11300 }
11301 public TransactionVariableNameContext(ParserRuleContext parent, int invokingState) {
11302 super(parent, invokingState);
11303 }
11304 @Override public int getRuleIndex() { return RULE_transactionVariableName; }
11305 @Override
11306 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11307 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionVariableName(this);
11308 else return visitor.visitChildren(this);
11309 }
11310 }
11311
11312 public final TransactionVariableNameContext transactionVariableName() throws RecognitionException {
11313 TransactionVariableNameContext _localctx = new TransactionVariableNameContext(_ctx, getState());
11314 enterRule(_localctx, 224, RULE_transactionVariableName);
11315 try {
11316 enterOuterAlt(_localctx, 1);
11317 {
11318 setState(1961);
11319 variableName();
11320 }
11321 }
11322 catch (RecognitionException re) {
11323 _localctx.exception = re;
11324 _errHandler.reportError(this, re);
11325 _errHandler.recover(this, re);
11326 }
11327 finally {
11328 exitRule();
11329 }
11330 return _localctx;
11331 }
11332
11333 public static class SavepointNameContext extends ParserRuleContext {
11334 public IdentifierContext identifier() {
11335 return getRuleContext(IdentifierContext.class,0);
11336 }
11337 public SavepointNameContext(ParserRuleContext parent, int invokingState) {
11338 super(parent, invokingState);
11339 }
11340 @Override public int getRuleIndex() { return RULE_savepointName; }
11341 @Override
11342 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11343 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointName(this);
11344 else return visitor.visitChildren(this);
11345 }
11346 }
11347
11348 public final SavepointNameContext savepointName() throws RecognitionException {
11349 SavepointNameContext _localctx = new SavepointNameContext(_ctx, getState());
11350 enterRule(_localctx, 226, RULE_savepointName);
11351 try {
11352 enterOuterAlt(_localctx, 1);
11353 {
11354 setState(1963);
11355 identifier();
11356 }
11357 }
11358 catch (RecognitionException re) {
11359 _localctx.exception = re;
11360 _errHandler.reportError(this, re);
11361 _errHandler.recover(this, re);
11362 }
11363 finally {
11364 exitRule();
11365 }
11366 return _localctx;
11367 }
11368
11369 public static class SavepointVariableNameContext extends ParserRuleContext {
11370 public VariableNameContext variableName() {
11371 return getRuleContext(VariableNameContext.class,0);
11372 }
11373 public SavepointVariableNameContext(ParserRuleContext parent, int invokingState) {
11374 super(parent, invokingState);
11375 }
11376 @Override public int getRuleIndex() { return RULE_savepointVariableName; }
11377 @Override
11378 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11379 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointVariableName(this);
11380 else return visitor.visitChildren(this);
11381 }
11382 }
11383
11384 public final SavepointVariableNameContext savepointVariableName() throws RecognitionException {
11385 SavepointVariableNameContext _localctx = new SavepointVariableNameContext(_ctx, getState());
11386 enterRule(_localctx, 228, RULE_savepointVariableName);
11387 try {
11388 enterOuterAlt(_localctx, 1);
11389 {
11390 setState(1965);
11391 variableName();
11392 }
11393 }
11394 catch (RecognitionException re) {
11395 _localctx.exception = re;
11396 _errHandler.reportError(this, re);
11397 _errHandler.recover(this, re);
11398 }
11399 finally {
11400 exitRule();
11401 }
11402 return _localctx;
11403 }
11404
11405 public static class EntityTypeContext extends ParserRuleContext {
11406 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
11407 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
11408 public EntityTypeContext(ParserRuleContext parent, int invokingState) {
11409 super(parent, invokingState);
11410 }
11411 @Override public int getRuleIndex() { return RULE_entityType; }
11412 @Override
11413 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11414 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEntityType(this);
11415 else return visitor.visitChildren(this);
11416 }
11417 }
11418
11419 public final EntityTypeContext entityType() throws RecognitionException {
11420 EntityTypeContext _localctx = new EntityTypeContext(_ctx, getState());
11421 enterRule(_localctx, 230, RULE_entityType);
11422 int _la;
11423 try {
11424 enterOuterAlt(_localctx, 1);
11425 {
11426 setState(1967);
11427 _la = _input.LA(1);
11428 if ( !(_la==TYPE || _la==OBJECT) ) {
11429 _errHandler.recoverInline(this);
11430 }
11431 else {
11432 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11433 _errHandler.reportMatch(this);
11434 consume();
11435 }
11436 }
11437 }
11438 catch (RecognitionException re) {
11439 _localctx.exception = re;
11440 _errHandler.reportError(this, re);
11441 _errHandler.recover(this, re);
11442 }
11443 finally {
11444 exitRule();
11445 }
11446 return _localctx;
11447 }
11448
11449 public static class IfExistsContext extends ParserRuleContext {
11450 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
11451 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
11452 public IfExistsContext(ParserRuleContext parent, int invokingState) {
11453 super(parent, invokingState);
11454 }
11455 @Override public int getRuleIndex() { return RULE_ifExists; }
11456 @Override
11457 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11458 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIfExists(this);
11459 else return visitor.visitChildren(this);
11460 }
11461 }
11462
11463 public final IfExistsContext ifExists() throws RecognitionException {
11464 IfExistsContext _localctx = new IfExistsContext(_ctx, getState());
11465 enterRule(_localctx, 232, RULE_ifExists);
11466 try {
11467 enterOuterAlt(_localctx, 1);
11468 {
11469 setState(1969);
11470 match(IF);
11471 setState(1970);
11472 match(EXISTS);
11473 }
11474 }
11475 catch (RecognitionException re) {
11476 _localctx.exception = re;
11477 _errHandler.reportError(this, re);
11478 _errHandler.recover(this, re);
11479 }
11480 finally {
11481 exitRule();
11482 }
11483 return _localctx;
11484 }
11485
11486 public static class TableHintLimitedContext extends ParserRuleContext {
11487 public TerminalNode KEEPIDENTITY() { return getToken(SQLServerStatementParser.KEEPIDENTITY, 0); }
11488 public TerminalNode KEEPDEFAULTS() { return getToken(SQLServerStatementParser.KEEPDEFAULTS, 0); }
11489 public TerminalNode HOLDLOCK() { return getToken(SQLServerStatementParser.HOLDLOCK, 0); }
11490 public TerminalNode IGNORE_CONSTRAINTS() { return getToken(SQLServerStatementParser.IGNORE_CONSTRAINTS, 0); }
11491 public TerminalNode IGNORE_TRIGGERS() { return getToken(SQLServerStatementParser.IGNORE_TRIGGERS, 0); }
11492 public TerminalNode NOLOCK() { return getToken(SQLServerStatementParser.NOLOCK, 0); }
11493 public TerminalNode NOWAIT() { return getToken(SQLServerStatementParser.NOWAIT, 0); }
11494 public TerminalNode PAGLOCK() { return getToken(SQLServerStatementParser.PAGLOCK, 0); }
11495 public TerminalNode READCOMMITTED() { return getToken(SQLServerStatementParser.READCOMMITTED, 0); }
11496 public TerminalNode READCOMMITTEDLOCK() { return getToken(SQLServerStatementParser.READCOMMITTEDLOCK, 0); }
11497 public TerminalNode READPAST() { return getToken(SQLServerStatementParser.READPAST, 0); }
11498 public TerminalNode REPEATABLEREAD() { return getToken(SQLServerStatementParser.REPEATABLEREAD, 0); }
11499 public TerminalNode ROWLOCK() { return getToken(SQLServerStatementParser.ROWLOCK, 0); }
11500 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
11501 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
11502 public TerminalNode TABLOCK() { return getToken(SQLServerStatementParser.TABLOCK, 0); }
11503 public TerminalNode TABLOCKX() { return getToken(SQLServerStatementParser.TABLOCKX, 0); }
11504 public TerminalNode UPDLOCK() { return getToken(SQLServerStatementParser.UPDLOCK, 0); }
11505 public TerminalNode XLOCK() { return getToken(SQLServerStatementParser.XLOCK, 0); }
11506 public TableHintLimitedContext(ParserRuleContext parent, int invokingState) {
11507 super(parent, invokingState);
11508 }
11509 @Override public int getRuleIndex() { return RULE_tableHintLimited; }
11510 @Override
11511 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11512 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableHintLimited(this);
11513 else return visitor.visitChildren(this);
11514 }
11515 }
11516
11517 public final TableHintLimitedContext tableHintLimited() throws RecognitionException {
11518 TableHintLimitedContext _localctx = new TableHintLimitedContext(_ctx, getState());
11519 enterRule(_localctx, 234, RULE_tableHintLimited);
11520 int _la;
11521 try {
11522 enterOuterAlt(_localctx, 1);
11523 {
11524 setState(1972);
11525 _la = _input.LA(1);
11526 if ( !(((((_la - 216)) & ~0x3f) == 0 && ((1L << (_la - 216)) & ((1L << (KEEPIDENTITY - 216)) | (1L << (KEEPDEFAULTS - 216)) | (1L << (HOLDLOCK - 216)) | (1L << (IGNORE_CONSTRAINTS - 216)) | (1L << (IGNORE_TRIGGERS - 216)) | (1L << (NOLOCK - 216)) | (1L << (NOWAIT - 216)) | (1L << (PAGLOCK - 216)) | (1L << (READCOMMITTED - 216)) | (1L << (READCOMMITTEDLOCK - 216)) | (1L << (READPAST - 216)) | (1L << (REPEATABLEREAD - 216)) | (1L << (ROWLOCK - 216)) | (1L << (TABLOCK - 216)) | (1L << (TABLOCKX - 216)) | (1L << (UPDLOCK - 216)) | (1L << (XLOCK - 216)))) != 0) || _la==SNAPSHOT || _la==SERIALIZABLE) ) {
11527 _errHandler.recoverInline(this);
11528 }
11529 else {
11530 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11531 _errHandler.reportMatch(this);
11532 consume();
11533 }
11534 }
11535 }
11536 catch (RecognitionException re) {
11537 _localctx.exception = re;
11538 _errHandler.reportError(this, re);
11539 _errHandler.recover(this, re);
11540 }
11541 finally {
11542 exitRule();
11543 }
11544 return _localctx;
11545 }
11546
11547 public static class CallContext extends ParserRuleContext {
11548 public TerminalNode CALL() { return getToken(SQLServerStatementParser.CALL, 0); }
11549 public CallContext(ParserRuleContext parent, int invokingState) {
11550 super(parent, invokingState);
11551 }
11552 @Override public int getRuleIndex() { return RULE_call; }
11553 @Override
11554 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11555 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCall(this);
11556 else return visitor.visitChildren(this);
11557 }
11558 }
11559
11560 public final CallContext call() throws RecognitionException {
11561 CallContext _localctx = new CallContext(_ctx, getState());
11562 enterRule(_localctx, 236, RULE_call);
11563 try {
11564 enterOuterAlt(_localctx, 1);
11565 {
11566 setState(1974);
11567 match(CALL);
11568 }
11569 }
11570 catch (RecognitionException re) {
11571 _localctx.exception = re;
11572 _errHandler.reportError(this, re);
11573 _errHandler.recover(this, re);
11574 }
11575 finally {
11576 exitRule();
11577 }
11578 return _localctx;
11579 }
11580
11581 public static class ExplainContext extends ParserRuleContext {
11582 public TerminalNode EXPLAIN() { return getToken(SQLServerStatementParser.EXPLAIN, 0); }
11583 public ExplainableStatementContext explainableStatement() {
11584 return getRuleContext(ExplainableStatementContext.class,0);
11585 }
11586 public TerminalNode WITH_RECOMMENDATIONS() { return getToken(SQLServerStatementParser.WITH_RECOMMENDATIONS, 0); }
11587 public ExplainContext(ParserRuleContext parent, int invokingState) {
11588 super(parent, invokingState);
11589 }
11590 @Override public int getRuleIndex() { return RULE_explain; }
11591 @Override
11592 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11593 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplain(this);
11594 else return visitor.visitChildren(this);
11595 }
11596 }
11597
11598 public final ExplainContext explain() throws RecognitionException {
11599 ExplainContext _localctx = new ExplainContext(_ctx, getState());
11600 enterRule(_localctx, 238, RULE_explain);
11601 int _la;
11602 try {
11603 enterOuterAlt(_localctx, 1);
11604 {
11605 setState(1976);
11606 match(EXPLAIN);
11607 setState(1978);
11608 _errHandler.sync(this);
11609 _la = _input.LA(1);
11610 if (_la==WITH_RECOMMENDATIONS) {
11611 {
11612 setState(1977);
11613 match(WITH_RECOMMENDATIONS);
11614 }
11615 }
11616
11617 setState(1980);
11618 explainableStatement();
11619 }
11620 }
11621 catch (RecognitionException re) {
11622 _localctx.exception = re;
11623 _errHandler.reportError(this, re);
11624 _errHandler.recover(this, re);
11625 }
11626 finally {
11627 exitRule();
11628 }
11629 return _localctx;
11630 }
11631
11632 public static class ExplainableStatementContext extends ParserRuleContext {
11633 public SelectContext select() {
11634 return getRuleContext(SelectContext.class,0);
11635 }
11636 public InsertContext insert() {
11637 return getRuleContext(InsertContext.class,0);
11638 }
11639 public UpdateContext update() {
11640 return getRuleContext(UpdateContext.class,0);
11641 }
11642 public DeleteContext delete() {
11643 return getRuleContext(DeleteContext.class,0);
11644 }
11645 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
11646 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
11647 }
11648 public ExplainableStatementContext(ParserRuleContext parent, int invokingState) {
11649 super(parent, invokingState);
11650 }
11651 @Override public int getRuleIndex() { return RULE_explainableStatement; }
11652 @Override
11653 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11654 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplainableStatement(this);
11655 else return visitor.visitChildren(this);
11656 }
11657 }
11658
11659 public final ExplainableStatementContext explainableStatement() throws RecognitionException {
11660 ExplainableStatementContext _localctx = new ExplainableStatementContext(_ctx, getState());
11661 enterRule(_localctx, 240, RULE_explainableStatement);
11662 try {
11663 setState(1987);
11664 _errHandler.sync(this);
11665 switch ( getInterpreter().adaptivePredict(_input,119,_ctx) ) {
11666 case 1:
11667 enterOuterAlt(_localctx, 1);
11668 {
11669 setState(1982);
11670 select();
11671 }
11672 break;
11673 case 2:
11674 enterOuterAlt(_localctx, 2);
11675 {
11676 setState(1983);
11677 insert();
11678 }
11679 break;
11680 case 3:
11681 enterOuterAlt(_localctx, 3);
11682 {
11683 setState(1984);
11684 update();
11685 }
11686 break;
11687 case 4:
11688 enterOuterAlt(_localctx, 4);
11689 {
11690 setState(1985);
11691 delete();
11692 }
11693 break;
11694 case 5:
11695 enterOuterAlt(_localctx, 5);
11696 {
11697 setState(1986);
11698 createTableAsSelectClause();
11699 }
11700 break;
11701 }
11702 }
11703 catch (RecognitionException re) {
11704 _localctx.exception = re;
11705 _errHandler.reportError(this, re);
11706 _errHandler.recover(this, re);
11707 }
11708 finally {
11709 exitRule();
11710 }
11711 return _localctx;
11712 }
11713
11714 public static class CreateTableContext extends ParserRuleContext {
11715 public CreateTableClauseContext createTableClause() {
11716 return getRuleContext(CreateTableClauseContext.class,0);
11717 }
11718 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
11719 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
11720 }
11721 public CreateTableContext(ParserRuleContext parent, int invokingState) {
11722 super(parent, invokingState);
11723 }
11724 @Override public int getRuleIndex() { return RULE_createTable; }
11725 @Override
11726 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11727 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTable(this);
11728 else return visitor.visitChildren(this);
11729 }
11730 }
11731
11732 public final CreateTableContext createTable() throws RecognitionException {
11733 CreateTableContext _localctx = new CreateTableContext(_ctx, getState());
11734 enterRule(_localctx, 242, RULE_createTable);
11735 try {
11736 setState(1991);
11737 _errHandler.sync(this);
11738 switch ( getInterpreter().adaptivePredict(_input,120,_ctx) ) {
11739 case 1:
11740 enterOuterAlt(_localctx, 1);
11741 {
11742 setState(1989);
11743 createTableClause();
11744 }
11745 break;
11746 case 2:
11747 enterOuterAlt(_localctx, 2);
11748 {
11749 setState(1990);
11750 createTableAsSelectClause();
11751 }
11752 break;
11753 }
11754 }
11755 catch (RecognitionException re) {
11756 _localctx.exception = re;
11757 _errHandler.reportError(this, re);
11758 _errHandler.recover(this, re);
11759 }
11760 finally {
11761 exitRule();
11762 }
11763 return _localctx;
11764 }
11765
11766 public static class CreateTableClauseContext extends ParserRuleContext {
11767 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11768 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
11769 public TableNameContext tableName() {
11770 return getRuleContext(TableNameContext.class,0);
11771 }
11772 public FileTableClauseContext fileTableClause() {
11773 return getRuleContext(FileTableClauseContext.class,0);
11774 }
11775 public CreateDefinitionClauseContext createDefinitionClause() {
11776 return getRuleContext(CreateDefinitionClauseContext.class,0);
11777 }
11778 public CreateTableClauseContext(ParserRuleContext parent, int invokingState) {
11779 super(parent, invokingState);
11780 }
11781 @Override public int getRuleIndex() { return RULE_createTableClause; }
11782 @Override
11783 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11784 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableClause(this);
11785 else return visitor.visitChildren(this);
11786 }
11787 }
11788
11789 public final CreateTableClauseContext createTableClause() throws RecognitionException {
11790 CreateTableClauseContext _localctx = new CreateTableClauseContext(_ctx, getState());
11791 enterRule(_localctx, 244, RULE_createTableClause);
11792 try {
11793 enterOuterAlt(_localctx, 1);
11794 {
11795 setState(1993);
11796 match(CREATE);
11797 setState(1994);
11798 match(TABLE);
11799 setState(1995);
11800 tableName();
11801 setState(1996);
11802 fileTableClause();
11803 setState(1997);
11804 createDefinitionClause();
11805 }
11806 }
11807 catch (RecognitionException re) {
11808 _localctx.exception = re;
11809 _errHandler.reportError(this, re);
11810 _errHandler.recover(this, re);
11811 }
11812 finally {
11813 exitRule();
11814 }
11815 return _localctx;
11816 }
11817
11818 public static class CreateIndexContext extends ParserRuleContext {
11819 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11820 public CreateIndexSpecificationContext createIndexSpecification() {
11821 return getRuleContext(CreateIndexSpecificationContext.class,0);
11822 }
11823 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
11824 public IndexNameContext indexName() {
11825 return getRuleContext(IndexNameContext.class,0);
11826 }
11827 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11828 public TableNameContext tableName() {
11829 return getRuleContext(TableNameContext.class,0);
11830 }
11831 public ColumnNamesWithSortContext columnNamesWithSort() {
11832 return getRuleContext(ColumnNamesWithSortContext.class,0);
11833 }
11834 public CreateIndexClauseContext createIndexClause() {
11835 return getRuleContext(CreateIndexClauseContext.class,0);
11836 }
11837 public CreateIndexContext(ParserRuleContext parent, int invokingState) {
11838 super(parent, invokingState);
11839 }
11840 @Override public int getRuleIndex() { return RULE_createIndex; }
11841 @Override
11842 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11843 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndex(this);
11844 else return visitor.visitChildren(this);
11845 }
11846 }
11847
11848 public final CreateIndexContext createIndex() throws RecognitionException {
11849 CreateIndexContext _localctx = new CreateIndexContext(_ctx, getState());
11850 enterRule(_localctx, 246, RULE_createIndex);
11851 try {
11852 enterOuterAlt(_localctx, 1);
11853 {
11854 setState(1999);
11855 match(CREATE);
11856 setState(2000);
11857 createIndexSpecification();
11858 setState(2001);
11859 match(INDEX);
11860 setState(2002);
11861 indexName();
11862 setState(2003);
11863 match(ON);
11864 setState(2004);
11865 tableName();
11866 setState(2005);
11867 columnNamesWithSort();
11868 setState(2006);
11869 createIndexClause();
11870 }
11871 }
11872 catch (RecognitionException re) {
11873 _localctx.exception = re;
11874 _errHandler.reportError(this, re);
11875 _errHandler.recover(this, re);
11876 }
11877 finally {
11878 exitRule();
11879 }
11880 return _localctx;
11881 }
11882
11883 public static class CreateDatabaseContext extends ParserRuleContext {
11884 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11885 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
11886 public DatabaseNameContext databaseName() {
11887 return getRuleContext(DatabaseNameContext.class,0);
11888 }
11889 public CreateDatabaseClauseContext createDatabaseClause() {
11890 return getRuleContext(CreateDatabaseClauseContext.class,0);
11891 }
11892 public CreateDatabaseContext(ParserRuleContext parent, int invokingState) {
11893 super(parent, invokingState);
11894 }
11895 @Override public int getRuleIndex() { return RULE_createDatabase; }
11896 @Override
11897 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11898 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabase(this);
11899 else return visitor.visitChildren(this);
11900 }
11901 }
11902
11903 public final CreateDatabaseContext createDatabase() throws RecognitionException {
11904 CreateDatabaseContext _localctx = new CreateDatabaseContext(_ctx, getState());
11905 enterRule(_localctx, 248, RULE_createDatabase);
11906 try {
11907 enterOuterAlt(_localctx, 1);
11908 {
11909 setState(2008);
11910 match(CREATE);
11911 setState(2009);
11912 match(DATABASE);
11913 setState(2010);
11914 databaseName();
11915 setState(2011);
11916 createDatabaseClause();
11917 }
11918 }
11919 catch (RecognitionException re) {
11920 _localctx.exception = re;
11921 _errHandler.reportError(this, re);
11922 _errHandler.recover(this, re);
11923 }
11924 finally {
11925 exitRule();
11926 }
11927 return _localctx;
11928 }
11929
11930 public static class CreateFunctionContext extends ParserRuleContext {
11931 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11932 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
11933 public FunctionNameContext functionName() {
11934 return getRuleContext(FunctionNameContext.class,0);
11935 }
11936 public FuncParametersContext funcParameters() {
11937 return getRuleContext(FuncParametersContext.class,0);
11938 }
11939 public FuncReturnsContext funcReturns() {
11940 return getRuleContext(FuncReturnsContext.class,0);
11941 }
11942 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11943 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11944 public CreateFunctionContext(ParserRuleContext parent, int invokingState) {
11945 super(parent, invokingState);
11946 }
11947 @Override public int getRuleIndex() { return RULE_createFunction; }
11948 @Override
11949 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11950 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateFunction(this);
11951 else return visitor.visitChildren(this);
11952 }
11953 }
11954
11955 public final CreateFunctionContext createFunction() throws RecognitionException {
11956 CreateFunctionContext _localctx = new CreateFunctionContext(_ctx, getState());
11957 enterRule(_localctx, 250, RULE_createFunction);
11958 int _la;
11959 try {
11960 enterOuterAlt(_localctx, 1);
11961 {
11962 setState(2013);
11963 match(CREATE);
11964 setState(2016);
11965 _errHandler.sync(this);
11966 _la = _input.LA(1);
11967 if (_la==OR) {
11968 {
11969 setState(2014);
11970 match(OR);
11971 setState(2015);
11972 match(ALTER);
11973 }
11974 }
11975
11976 setState(2018);
11977 match(FUNCTION);
11978 setState(2019);
11979 functionName();
11980 setState(2020);
11981 funcParameters();
11982 setState(2021);
11983 funcReturns();
11984 }
11985 }
11986 catch (RecognitionException re) {
11987 _localctx.exception = re;
11988 _errHandler.reportError(this, re);
11989 _errHandler.recover(this, re);
11990 }
11991 finally {
11992 exitRule();
11993 }
11994 return _localctx;
11995 }
11996
11997 public static class CreateProcedureContext extends ParserRuleContext {
11998 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11999 public ProcedureNameContext procedureName() {
12000 return getRuleContext(ProcedureNameContext.class,0);
12001 }
12002 public ProcParametersContext procParameters() {
12003 return getRuleContext(ProcParametersContext.class,0);
12004 }
12005 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
12006 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
12007 }
12008 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
12009 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
12010 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12011 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12012 public CreateProcedureContext(ParserRuleContext parent, int invokingState) {
12013 super(parent, invokingState);
12014 }
12015 @Override public int getRuleIndex() { return RULE_createProcedure; }
12016 @Override
12017 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12018 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateProcedure(this);
12019 else return visitor.visitChildren(this);
12020 }
12021 }
12022
12023 public final CreateProcedureContext createProcedure() throws RecognitionException {
12024 CreateProcedureContext _localctx = new CreateProcedureContext(_ctx, getState());
12025 enterRule(_localctx, 252, RULE_createProcedure);
12026 int _la;
12027 try {
12028 enterOuterAlt(_localctx, 1);
12029 {
12030 setState(2023);
12031 match(CREATE);
12032 setState(2026);
12033 _errHandler.sync(this);
12034 _la = _input.LA(1);
12035 if (_la==OR) {
12036 {
12037 setState(2024);
12038 match(OR);
12039 setState(2025);
12040 match(ALTER);
12041 }
12042 }
12043
12044 setState(2028);
12045 _la = _input.LA(1);
12046 if ( !(_la==PROCEDURE || _la==PROC) ) {
12047 _errHandler.recoverInline(this);
12048 }
12049 else {
12050 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12051 _errHandler.reportMatch(this);
12052 consume();
12053 }
12054 setState(2029);
12055 procedureName();
12056 setState(2030);
12057 procParameters();
12058 setState(2031);
12059 createOrAlterProcClause();
12060 }
12061 }
12062 catch (RecognitionException re) {
12063 _localctx.exception = re;
12064 _errHandler.reportError(this, re);
12065 _errHandler.recover(this, re);
12066 }
12067 finally {
12068 exitRule();
12069 }
12070 return _localctx;
12071 }
12072
12073 public static class CreateViewContext extends ParserRuleContext {
12074 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12075 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
12076 public ViewNameContext viewName() {
12077 return getRuleContext(ViewNameContext.class,0);
12078 }
12079 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
12080 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
12081 }
12082 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12083 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12084 public CreateViewContext(ParserRuleContext parent, int invokingState) {
12085 super(parent, invokingState);
12086 }
12087 @Override public int getRuleIndex() { return RULE_createView; }
12088 @Override
12089 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12090 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateView(this);
12091 else return visitor.visitChildren(this);
12092 }
12093 }
12094
12095 public final CreateViewContext createView() throws RecognitionException {
12096 CreateViewContext _localctx = new CreateViewContext(_ctx, getState());
12097 enterRule(_localctx, 254, RULE_createView);
12098 int _la;
12099 try {
12100 enterOuterAlt(_localctx, 1);
12101 {
12102 setState(2033);
12103 match(CREATE);
12104 setState(2036);
12105 _errHandler.sync(this);
12106 _la = _input.LA(1);
12107 if (_la==OR) {
12108 {
12109 setState(2034);
12110 match(OR);
12111 setState(2035);
12112 match(ALTER);
12113 }
12114 }
12115
12116 setState(2038);
12117 match(VIEW);
12118 setState(2039);
12119 viewName();
12120 setState(2040);
12121 createOrAlterViewClause();
12122 }
12123 }
12124 catch (RecognitionException re) {
12125 _localctx.exception = re;
12126 _errHandler.reportError(this, re);
12127 _errHandler.recover(this, re);
12128 }
12129 finally {
12130 exitRule();
12131 }
12132 return _localctx;
12133 }
12134
12135 public static class CreateTriggerContext extends ParserRuleContext {
12136 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12137 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
12138 public TriggerNameContext triggerName() {
12139 return getRuleContext(TriggerNameContext.class,0);
12140 }
12141 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
12142 public TriggerTargetContext triggerTarget() {
12143 return getRuleContext(TriggerTargetContext.class,0);
12144 }
12145 public CreateTriggerClauseContext createTriggerClause() {
12146 return getRuleContext(CreateTriggerClauseContext.class,0);
12147 }
12148 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12149 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12150 public CreateTriggerContext(ParserRuleContext parent, int invokingState) {
12151 super(parent, invokingState);
12152 }
12153 @Override public int getRuleIndex() { return RULE_createTrigger; }
12154 @Override
12155 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12156 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTrigger(this);
12157 else return visitor.visitChildren(this);
12158 }
12159 }
12160
12161 public final CreateTriggerContext createTrigger() throws RecognitionException {
12162 CreateTriggerContext _localctx = new CreateTriggerContext(_ctx, getState());
12163 enterRule(_localctx, 256, RULE_createTrigger);
12164 int _la;
12165 try {
12166 enterOuterAlt(_localctx, 1);
12167 {
12168 setState(2042);
12169 match(CREATE);
12170 setState(2045);
12171 _errHandler.sync(this);
12172 _la = _input.LA(1);
12173 if (_la==OR) {
12174 {
12175 setState(2043);
12176 match(OR);
12177 setState(2044);
12178 match(ALTER);
12179 }
12180 }
12181
12182 setState(2047);
12183 match(TRIGGER);
12184 setState(2048);
12185 triggerName();
12186 setState(2049);
12187 match(ON);
12188 setState(2050);
12189 triggerTarget();
12190 setState(2051);
12191 createTriggerClause();
12192 }
12193 }
12194 catch (RecognitionException re) {
12195 _localctx.exception = re;
12196 _errHandler.reportError(this, re);
12197 _errHandler.recover(this, re);
12198 }
12199 finally {
12200 exitRule();
12201 }
12202 return _localctx;
12203 }
12204
12205 public static class CreateSequenceContext extends ParserRuleContext {
12206 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12207 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
12208 public SequenceNameContext sequenceName() {
12209 return getRuleContext(SequenceNameContext.class,0);
12210 }
12211 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
12212 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
12213 }
12214 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
12215 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
12216 }
12217 public CreateSequenceContext(ParserRuleContext parent, int invokingState) {
12218 super(parent, invokingState);
12219 }
12220 @Override public int getRuleIndex() { return RULE_createSequence; }
12221 @Override
12222 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12223 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSequence(this);
12224 else return visitor.visitChildren(this);
12225 }
12226 }
12227
12228 public final CreateSequenceContext createSequence() throws RecognitionException {
12229 CreateSequenceContext _localctx = new CreateSequenceContext(_ctx, getState());
12230 enterRule(_localctx, 258, RULE_createSequence);
12231 int _la;
12232 try {
12233 enterOuterAlt(_localctx, 1);
12234 {
12235 setState(2053);
12236 match(CREATE);
12237 setState(2054);
12238 match(SEQUENCE);
12239 setState(2055);
12240 sequenceName();
12241 setState(2059);
12242 _errHandler.sync(this);
12243 _la = _input.LA(1);
12244 while (_la==AS || _la==NO || _la==START || ((((_la - 541)) & ~0x3f) == 0 && ((1L << (_la - 541)) & ((1L << (INCREMENT - 541)) | (1L << (CYCLE - 541)) | (1L << (CACHE - 541)) | (1L << (MINVALUE - 541)) | (1L << (MAXVALUE - 541)) | (1L << (RESTART - 541)))) != 0)) {
12245 {
12246 {
12247 setState(2056);
12248 createOrAlterSequenceClause();
12249 }
12250 }
12251 setState(2061);
12252 _errHandler.sync(this);
12253 _la = _input.LA(1);
12254 }
12255 }
12256 }
12257 catch (RecognitionException re) {
12258 _localctx.exception = re;
12259 _errHandler.reportError(this, re);
12260 _errHandler.recover(this, re);
12261 }
12262 finally {
12263 exitRule();
12264 }
12265 return _localctx;
12266 }
12267
12268 public static class CreateServiceContext extends ParserRuleContext {
12269 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12270 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
12271 public ServiceNameContext serviceName() {
12272 return getRuleContext(ServiceNameContext.class,0);
12273 }
12274 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
12275 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
12276 public QueueNameContext queueName() {
12277 return getRuleContext(QueueNameContext.class,0);
12278 }
12279 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
12280 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
12281 public CreateServiceClauseContext createServiceClause() {
12282 return getRuleContext(CreateServiceClauseContext.class,0);
12283 }
12284 public CreateServiceContext(ParserRuleContext parent, int invokingState) {
12285 super(parent, invokingState);
12286 }
12287 @Override public int getRuleIndex() { return RULE_createService; }
12288 @Override
12289 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12290 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateService(this);
12291 else return visitor.visitChildren(this);
12292 }
12293 }
12294
12295 public final CreateServiceContext createService() throws RecognitionException {
12296 CreateServiceContext _localctx = new CreateServiceContext(_ctx, getState());
12297 enterRule(_localctx, 260, RULE_createService);
12298 int _la;
12299 try {
12300 enterOuterAlt(_localctx, 1);
12301 {
12302 setState(2062);
12303 match(CREATE);
12304 setState(2063);
12305 match(SERVICE);
12306 setState(2064);
12307 serviceName();
12308 setState(2067);
12309 _errHandler.sync(this);
12310 _la = _input.LA(1);
12311 if (_la==AUTHORIZATION) {
12312 {
12313 setState(2065);
12314 match(AUTHORIZATION);
12315 setState(2066);
12316 match(STRING_);
12317 }
12318 }
12319
12320 setState(2069);
12321 match(ON);
12322 setState(2070);
12323 match(QUEUE);
12324 setState(2071);
12325 queueName();
12326 setState(2073);
12327 _errHandler.sync(this);
12328 _la = _input.LA(1);
12329 if (_la==LP_) {
12330 {
12331 setState(2072);
12332 createServiceClause();
12333 }
12334 }
12335
12336 }
12337 }
12338 catch (RecognitionException re) {
12339 _localctx.exception = re;
12340 _errHandler.reportError(this, re);
12341 _errHandler.recover(this, re);
12342 }
12343 finally {
12344 exitRule();
12345 }
12346 return _localctx;
12347 }
12348
12349 public static class CreateSchemaContext extends ParserRuleContext {
12350 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12351 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
12352 public SchemaNameClauseContext schemaNameClause() {
12353 return getRuleContext(SchemaNameClauseContext.class,0);
12354 }
12355 public List<SchemaElementContext> schemaElement() {
12356 return getRuleContexts(SchemaElementContext.class);
12357 }
12358 public SchemaElementContext schemaElement(int i) {
12359 return getRuleContext(SchemaElementContext.class,i);
12360 }
12361 public CreateSchemaContext(ParserRuleContext parent, int invokingState) {
12362 super(parent, invokingState);
12363 }
12364 @Override public int getRuleIndex() { return RULE_createSchema; }
12365 @Override
12366 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12367 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSchema(this);
12368 else return visitor.visitChildren(this);
12369 }
12370 }
12371
12372 public final CreateSchemaContext createSchema() throws RecognitionException {
12373 CreateSchemaContext _localctx = new CreateSchemaContext(_ctx, getState());
12374 enterRule(_localctx, 262, RULE_createSchema);
12375 int _la;
12376 try {
12377 enterOuterAlt(_localctx, 1);
12378 {
12379 setState(2075);
12380 match(CREATE);
12381 setState(2076);
12382 match(SCHEMA);
12383 setState(2077);
12384 schemaNameClause();
12385 setState(2081);
12386 _errHandler.sync(this);
12387 _la = _input.LA(1);
12388 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << CREATE) | (1L << GRANT) | (1L << REVOKE))) != 0) || _la==DENY) {
12389 {
12390 {
12391 setState(2078);
12392 schemaElement();
12393 }
12394 }
12395 setState(2083);
12396 _errHandler.sync(this);
12397 _la = _input.LA(1);
12398 }
12399 }
12400 }
12401 catch (RecognitionException re) {
12402 _localctx.exception = re;
12403 _errHandler.reportError(this, re);
12404 _errHandler.recover(this, re);
12405 }
12406 finally {
12407 exitRule();
12408 }
12409 return _localctx;
12410 }
12411
12412 public static class AlterTableContext extends ParserRuleContext {
12413 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12414 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
12415 public TableNameContext tableName() {
12416 return getRuleContext(TableNameContext.class,0);
12417 }
12418 public List<AlterDefinitionClauseContext> alterDefinitionClause() {
12419 return getRuleContexts(AlterDefinitionClauseContext.class);
12420 }
12421 public AlterDefinitionClauseContext alterDefinitionClause(int i) {
12422 return getRuleContext(AlterDefinitionClauseContext.class,i);
12423 }
12424 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
12425 public TerminalNode COMMA_(int i) {
12426 return getToken(SQLServerStatementParser.COMMA_, i);
12427 }
12428 public AlterTableContext(ParserRuleContext parent, int invokingState) {
12429 super(parent, invokingState);
12430 }
12431 @Override public int getRuleIndex() { return RULE_alterTable; }
12432 @Override
12433 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12434 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTable(this);
12435 else return visitor.visitChildren(this);
12436 }
12437 }
12438
12439 public final AlterTableContext alterTable() throws RecognitionException {
12440 AlterTableContext _localctx = new AlterTableContext(_ctx, getState());
12441 enterRule(_localctx, 264, RULE_alterTable);
12442 int _la;
12443 try {
12444 enterOuterAlt(_localctx, 1);
12445 {
12446 setState(2084);
12447 match(ALTER);
12448 setState(2085);
12449 match(TABLE);
12450 setState(2086);
12451 tableName();
12452 setState(2087);
12453 alterDefinitionClause();
12454 setState(2092);
12455 _errHandler.sync(this);
12456 _la = _input.LA(1);
12457 while (_la==COMMA_) {
12458 {
12459 {
12460 setState(2088);
12461 match(COMMA_);
12462 setState(2089);
12463 alterDefinitionClause();
12464 }
12465 }
12466 setState(2094);
12467 _errHandler.sync(this);
12468 _la = _input.LA(1);
12469 }
12470 }
12471 }
12472 catch (RecognitionException re) {
12473 _localctx.exception = re;
12474 _errHandler.reportError(this, re);
12475 _errHandler.recover(this, re);
12476 }
12477 finally {
12478 exitRule();
12479 }
12480 return _localctx;
12481 }
12482
12483 public static class AlterIndexContext extends ParserRuleContext {
12484 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12485 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
12486 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
12487 public TableNameContext tableName() {
12488 return getRuleContext(TableNameContext.class,0);
12489 }
12490 public AlterIndexClauseContext alterIndexClause() {
12491 return getRuleContext(AlterIndexClauseContext.class,0);
12492 }
12493 public IndexNameContext indexName() {
12494 return getRuleContext(IndexNameContext.class,0);
12495 }
12496 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
12497 public AlterIndexContext(ParserRuleContext parent, int invokingState) {
12498 super(parent, invokingState);
12499 }
12500 @Override public int getRuleIndex() { return RULE_alterIndex; }
12501 @Override
12502 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12503 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndex(this);
12504 else return visitor.visitChildren(this);
12505 }
12506 }
12507
12508 public final AlterIndexContext alterIndex() throws RecognitionException {
12509 AlterIndexContext _localctx = new AlterIndexContext(_ctx, getState());
12510 enterRule(_localctx, 266, RULE_alterIndex);
12511 try {
12512 enterOuterAlt(_localctx, 1);
12513 {
12514 setState(2095);
12515 match(ALTER);
12516 setState(2096);
12517 match(INDEX);
12518 setState(2099);
12519 _errHandler.sync(this);
12520 switch (_input.LA(1)) {
12521 case TRUNCATE:
12522 case SCHEMA:
12523 case COLUMNS:
12524 case PRECISION:
12525 case FUNCTION:
12526 case TRIGGER:
12527 case CAST:
12528 case SUBSTRING:
12529 case OFF:
12530 case GROUP:
12531 case LIMIT:
12532 case OFFSET:
12533 case SAVEPOINT:
12534 case BOOLEAN:
12535 case ARRAY:
12536 case DATE:
12537 case LOCALTIME:
12538 case LOCALTIMESTAMP:
12539 case QUARTER:
12540 case MONTH:
12541 case WEEK:
12542 case DAY:
12543 case SECOND:
12544 case MICROSECOND:
12545 case MAX:
12546 case MIN:
12547 case SUM:
12548 case COUNT:
12549 case AVG:
12550 case ENABLE:
12551 case DISABLE:
12552 case INSTANCE:
12553 case DO:
12554 case DEFINER:
12555 case SQL:
12556 case CASCADED:
12557 case LOCAL:
12558 case NEXT:
12559 case NAME:
12560 case INTEGER:
12561 case TYPE:
12562 case TEXT:
12563 case VIEWS:
12564 case READ_ONLY:
12565 case DATABASE:
12566 case RETURNS:
12567 case DATEPART:
12568 case PASSWORD:
12569 case BINARY:
12570 case HIDDEN_:
12571 case MOD:
12572 case PARTITION:
12573 case PARTITIONS:
12574 case TOP:
12575 case ROW:
12576 case ROWS:
12577 case XOR:
12578 case ALWAYS:
12579 case ROLE:
12580 case START:
12581 case ALGORITHM:
12582 case AUTO:
12583 case BLOCKERS:
12584 case CLUSTERED:
12585 case NONCLUSTERED:
12586 case COLUMNSTORE:
12587 case CONTENT:
12588 case YEARS:
12589 case MONTHS:
12590 case WEEKS:
12591 case DAYS:
12592 case MINUTES:
12593 case DENY:
12594 case DETERMINISTIC:
12595 case DISTRIBUTION:
12596 case DOCUMENT:
12597 case DURABILITY:
12598 case ENCRYPTED:
12599 case FILESTREAM:
12600 case FILETABLE:
12601 case FILLFACTOR:
12602 case FOLLOWING:
12603 case HASH:
12604 case HEAP:
12605 case INBOUND:
12606 case OUTBOUND:
12607 case UNBOUNDED:
12608 case INFINITE:
12609 case LOGIN:
12610 case MASKED:
12611 case MAXDOP:
12612 case MOVE:
12613 case NOCHECK:
12614 case OBJECT:
12615 case ONLINE:
12616 case OVER:
12617 case PAGE:
12618 case PAUSED:
12619 case PERIOD:
12620 case PERSISTED:
12621 case PRECEDING:
12622 case RANDOMIZED:
12623 case RANGE:
12624 case REBUILD:
12625 case REPLICATE:
12626 case REPLICATION:
12627 case RESUMABLE:
12628 case ROWGUIDCOL:
12629 case SAVE:
12630 case SELF:
12631 case SPARSE:
12632 case SWITCH:
12633 case TRAN:
12634 case TRANCOUNT:
12635 case CONTROL:
12636 case CONCAT:
12637 case TAKE:
12638 case OWNERSHIP:
12639 case DEFINITION:
12640 case APPLICATION:
12641 case ASSEMBLY:
12642 case SYMMETRIC:
12643 case ASYMMETRIC:
12644 case SERVER:
12645 case RECEIVE:
12646 case CHANGE:
12647 case TRACE:
12648 case TRACKING:
12649 case RESOURCES:
12650 case SETTINGS:
12651 case STATE:
12652 case AVAILABILITY:
12653 case CREDENTIAL:
12654 case ENDPOINT:
12655 case EVENT:
12656 case NOTIFICATION:
12657 case LINKED:
12658 case AUDIT:
12659 case DDL:
12660 case XML:
12661 case IMPERSONATE:
12662 case SECURABLES:
12663 case AUTHENTICATE:
12664 case EXTERNAL:
12665 case ACCESS:
12666 case ADMINISTER:
12667 case BULK:
12668 case OPERATIONS:
12669 case UNSAFE:
12670 case SHUTDOWN:
12671 case SCOPED:
12672 case CONFIGURATION:
12673 case DATASPACE:
12674 case SERVICE:
12675 case CERTIFICATE:
12676 case CONTRACT:
12677 case ENCRYPTION:
12678 case MASTER:
12679 case DATA:
12680 case SOURCE:
12681 case FILE:
12682 case FORMAT:
12683 case LIBRARY:
12684 case FULLTEXT:
12685 case MASK:
12686 case UNMASK:
12687 case MESSAGE:
12688 case REMOTE:
12689 case BINDING:
12690 case ROUTE:
12691 case SECURITY:
12692 case POLICY:
12693 case AGGREGATE:
12694 case QUEUE:
12695 case RULE:
12696 case SYNONYM:
12697 case COLLECTION:
12698 case SCRIPT:
12699 case KILL:
12700 case BACKUP:
12701 case LOG:
12702 case SHOWPLAN:
12703 case SUBSCRIBE:
12704 case QUERY:
12705 case NOTIFICATIONS:
12706 case CHECKPOINT:
12707 case SEQUENCE:
12708 case ABORT_AFTER_WAIT:
12709 case ALLOW_PAGE_LOCKS:
12710 case ALLOW_ROW_LOCKS:
12711 case ALL_SPARSE_COLUMNS:
12712 case BUCKET_COUNT:
12713 case COLUMNSTORE_ARCHIVE:
12714 case COLUMN_ENCRYPTION_KEY:
12715 case COLUMN_SET:
12716 case COMPRESSION_DELAY:
12717 case DATABASE_DEAULT:
12718 case DATA_COMPRESSION:
12719 case DATA_CONSISTENCY_CHECK:
12720 case ENCRYPTION_TYPE:
12721 case SYSTEM_TIME:
12722 case SYSTEM_VERSIONING:
12723 case TEXTIMAGE_ON:
12724 case WAIT_AT_LOW_PRIORITY:
12725 case STATISTICS_INCREMENTAL:
12726 case STATISTICS_NORECOMPUTE:
12727 case ROUND_ROBIN:
12728 case SCHEMA_AND_DATA:
12729 case SCHEMA_ONLY:
12730 case SORT_IN_TEMPDB:
12731 case IGNORE_DUP_KEY:
12732 case IMPLICIT_TRANSACTIONS:
12733 case MAX_DURATION:
12734 case MEMORY_OPTIMIZED:
12735 case MIGRATION_STATE:
12736 case PAD_INDEX:
12737 case REMOTE_DATA_ARCHIVE:
12738 case FILESTREAM_ON:
12739 case FILETABLE_COLLATE_FILENAME:
12740 case FILETABLE_DIRECTORY:
12741 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
12742 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
12743 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
12744 case FILTER_PREDICATE:
12745 case HISTORY_RETENTION_PERIOD:
12746 case HISTORY_TABLE:
12747 case LOCK_ESCALATION:
12748 case DROP_EXISTING:
12749 case ROW_NUMBER:
12750 case FIRST:
12751 case DATETIME2:
12752 case OUTPUT:
12753 case INSERTED:
12754 case DELETED:
12755 case FILENAME:
12756 case SIZE:
12757 case MAXSIZE:
12758 case FILEGROWTH:
12759 case UNLIMITED:
12760 case KB:
12761 case MB:
12762 case GB:
12763 case TB:
12764 case CONTAINS:
12765 case MEMORY_OPTIMIZED_DATA:
12766 case FILEGROUP:
12767 case NON_TRANSACTED_ACCESS:
12768 case DB_CHAINING:
12769 case TRUSTWORTHY:
12770 case FORWARD_ONLY:
12771 case KEYSET:
12772 case FAST_FORWARD:
12773 case SCROLL_LOCKS:
12774 case OPTIMISTIC:
12775 case TYPE_WARNING:
12776 case SCHEMABINDING:
12777 case CALLER:
12778 case OWNER:
12779 case SNAPSHOT:
12780 case REPEATABLE:
12781 case SERIALIZABLE:
12782 case NATIVE_COMPILATION:
12783 case VIEW_METADATA:
12784 case INSTEAD:
12785 case APPEND:
12786 case INCREMENT:
12787 case CACHE:
12788 case MINVALUE:
12789 case MAXVALUE:
12790 case RESTART:
12791 case LOB_COMPACTION:
12792 case COMPRESS_ALL_ROW_GROUPS:
12793 case REORGANIZE:
12794 case RESUME:
12795 case PAUSE:
12796 case ABORT:
12797 case ACCELERATED_DATABASE_RECOVERY:
12798 case PERSISTENT_VERSION_STORE_FILEGROUP:
12799 case IMMEDIATE:
12800 case NO_WAIT:
12801 case TARGET_RECOVERY_TIME:
12802 case SECONDS:
12803 case HONOR_BROKER_PRIORITY:
12804 case ERROR_BROKER_CONVERSATIONS:
12805 case NEW_BROKER:
12806 case DISABLE_BROKER:
12807 case ENABLE_BROKER:
12808 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
12809 case READ_COMMITTED_SNAPSHOT:
12810 case ALLOW_SNAPSHOT_ISOLATION:
12811 case RECURSIVE_TRIGGERS:
12812 case QUOTED_IDENTIFIER:
12813 case NUMERIC_ROUNDABORT:
12814 case CONCAT_NULL_YIELDS_NULL:
12815 case COMPATIBILITY_LEVEL:
12816 case ARITHABORT:
12817 case ANSI_WARNINGS:
12818 case ANSI_PADDING:
12819 case ANSI_NULLS:
12820 case ANSI_NULL_DEFAULT:
12821 case PAGE_VERIFY:
12822 case CHECKSUM:
12823 case TORN_PAGE_DETECTION:
12824 case BULK_LOGGED:
12825 case RECOVERY:
12826 case TOTAL_EXECUTION_CPU_TIME_MS:
12827 case TOTAL_COMPILE_CPU_TIME_MS:
12828 case STALE_CAPTURE_POLICY_THRESHOLD:
12829 case EXECUTION_COUNT:
12830 case QUERY_CAPTURE_POLICY:
12831 case WAIT_STATS_CAPTURE_MODE:
12832 case MAX_PLANS_PER_QUERY:
12833 case QUERY_CAPTURE_MODE:
12834 case SIZE_BASED_CLEANUP_MODE:
12835 case INTERVAL_LENGTH_MINUTES:
12836 case MAX_STORAGE_SIZE_MB:
12837 case DATA_FLUSH_INTERVAL_SECONDS:
12838 case CLEANUP_POLICY:
12839 case CUSTOM:
12840 case STALE_QUERY_THRESHOLD_DAYS:
12841 case OPERATION_MODE:
12842 case QUERY_STORE:
12843 case CURSOR_DEFAULT:
12844 case GLOBAL:
12845 case CURSOR_CLOSE_ON_COMMIT:
12846 case HOURS:
12847 case CHANGE_RETENTION:
12848 case AUTO_CLEANUP:
12849 case CHANGE_TRACKING:
12850 case AUTOMATIC_TUNING:
12851 case FORCE_LAST_GOOD_PLAN:
12852 case AUTO_UPDATE_STATISTICS_ASYNC:
12853 case AUTO_UPDATE_STATISTICS:
12854 case AUTO_SHRINK:
12855 case AUTO_CREATE_STATISTICS:
12856 case INCREMENTAL:
12857 case AUTO_CLOSE:
12858 case DATA_RETENTION:
12859 case TEMPORAL_HISTORY_RETENTION:
12860 case EDITION:
12861 case MIXED_PAGE_ALLOCATION:
12862 case DISABLED:
12863 case ALLOWED:
12864 case HADR:
12865 case MULTI_USER:
12866 case RESTRICTED_USER:
12867 case SINGLE_USER:
12868 case OFFLINE:
12869 case EMERGENCY:
12870 case SUSPEND:
12871 case DATE_CORRELATION_OPTIMIZATION:
12872 case ELASTIC_POOL:
12873 case SERVICE_OBJECTIVE:
12874 case DATABASE_NAME:
12875 case ALLOW_CONNECTIONS:
12876 case GEO:
12877 case NAMED:
12878 case DATEFIRST:
12879 case BACKUP_STORAGE_REDUNDANCY:
12880 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
12881 case SECONDARY:
12882 case FAILOVER:
12883 case DEFAULT_FULLTEXT_LANGUAGE:
12884 case DEFAULT_LANGUAGE:
12885 case INLINE:
12886 case NESTED_TRIGGERS:
12887 case TRANSFORM_NOISE_WORDS:
12888 case TWO_DIGIT_YEAR_CUTOFF:
12889 case PERSISTENT_LOG_BUFFER:
12890 case DIRECTORY_NAME:
12891 case DATEFORMAT:
12892 case DELAYED_DURABILITY:
12893 case AUTHORIZATION:
12894 case TRANSFER:
12895 case PROVIDER:
12896 case SEARCH:
12897 case MEMBER:
12898 case IDENTIFIER_:
12899 case DELIMITED_IDENTIFIER_:
12900 {
12901 setState(2097);
12902 indexName();
12903 }
12904 break;
12905 case ALL:
12906 {
12907 setState(2098);
12908 match(ALL);
12909 }
12910 break;
12911 default:
12912 throw new NoViableAltException(this);
12913 }
12914 setState(2101);
12915 match(ON);
12916 setState(2102);
12917 tableName();
12918 setState(2103);
12919 alterIndexClause();
12920 }
12921 }
12922 catch (RecognitionException re) {
12923 _localctx.exception = re;
12924 _errHandler.reportError(this, re);
12925 _errHandler.recover(this, re);
12926 }
12927 finally {
12928 exitRule();
12929 }
12930 return _localctx;
12931 }
12932
12933 public static class AlterDatabaseContext extends ParserRuleContext {
12934 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12935 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
12936 public DatabaseNameContext databaseName() {
12937 return getRuleContext(DatabaseNameContext.class,0);
12938 }
12939 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
12940 public List<AlterDatabaseClauseContext> alterDatabaseClause() {
12941 return getRuleContexts(AlterDatabaseClauseContext.class);
12942 }
12943 public AlterDatabaseClauseContext alterDatabaseClause(int i) {
12944 return getRuleContext(AlterDatabaseClauseContext.class,i);
12945 }
12946 public AlterDatabaseContext(ParserRuleContext parent, int invokingState) {
12947 super(parent, invokingState);
12948 }
12949 @Override public int getRuleIndex() { return RULE_alterDatabase; }
12950 @Override
12951 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12952 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabase(this);
12953 else return visitor.visitChildren(this);
12954 }
12955 }
12956
12957 public final AlterDatabaseContext alterDatabase() throws RecognitionException {
12958 AlterDatabaseContext _localctx = new AlterDatabaseContext(_ctx, getState());
12959 enterRule(_localctx, 268, RULE_alterDatabase);
12960 int _la;
12961 try {
12962 enterOuterAlt(_localctx, 1);
12963 {
12964 setState(2105);
12965 match(ALTER);
12966 setState(2106);
12967 match(DATABASE);
12968 setState(2109);
12969 _errHandler.sync(this);
12970 switch (_input.LA(1)) {
12971 case TRUNCATE:
12972 case SCHEMA:
12973 case COLUMNS:
12974 case PRECISION:
12975 case FUNCTION:
12976 case TRIGGER:
12977 case CAST:
12978 case SUBSTRING:
12979 case OFF:
12980 case GROUP:
12981 case LIMIT:
12982 case OFFSET:
12983 case SAVEPOINT:
12984 case BOOLEAN:
12985 case ARRAY:
12986 case DATE:
12987 case LOCALTIME:
12988 case LOCALTIMESTAMP:
12989 case QUARTER:
12990 case MONTH:
12991 case WEEK:
12992 case DAY:
12993 case SECOND:
12994 case MICROSECOND:
12995 case MAX:
12996 case MIN:
12997 case SUM:
12998 case COUNT:
12999 case AVG:
13000 case ENABLE:
13001 case DISABLE:
13002 case INSTANCE:
13003 case DO:
13004 case DEFINER:
13005 case SQL:
13006 case CASCADED:
13007 case LOCAL:
13008 case NEXT:
13009 case NAME:
13010 case INTEGER:
13011 case TYPE:
13012 case TEXT:
13013 case VIEWS:
13014 case READ_ONLY:
13015 case DATABASE:
13016 case RETURNS:
13017 case DATEPART:
13018 case PASSWORD:
13019 case BINARY:
13020 case HIDDEN_:
13021 case MOD:
13022 case PARTITION:
13023 case PARTITIONS:
13024 case TOP:
13025 case ROW:
13026 case ROWS:
13027 case XOR:
13028 case ALWAYS:
13029 case ROLE:
13030 case START:
13031 case ALGORITHM:
13032 case AUTO:
13033 case BLOCKERS:
13034 case CLUSTERED:
13035 case NONCLUSTERED:
13036 case COLUMNSTORE:
13037 case CONTENT:
13038 case YEARS:
13039 case MONTHS:
13040 case WEEKS:
13041 case DAYS:
13042 case MINUTES:
13043 case DENY:
13044 case DETERMINISTIC:
13045 case DISTRIBUTION:
13046 case DOCUMENT:
13047 case DURABILITY:
13048 case ENCRYPTED:
13049 case FILESTREAM:
13050 case FILETABLE:
13051 case FILLFACTOR:
13052 case FOLLOWING:
13053 case HASH:
13054 case HEAP:
13055 case INBOUND:
13056 case OUTBOUND:
13057 case UNBOUNDED:
13058 case INFINITE:
13059 case LOGIN:
13060 case MASKED:
13061 case MAXDOP:
13062 case MOVE:
13063 case NOCHECK:
13064 case OBJECT:
13065 case ONLINE:
13066 case OVER:
13067 case PAGE:
13068 case PAUSED:
13069 case PERIOD:
13070 case PERSISTED:
13071 case PRECEDING:
13072 case RANDOMIZED:
13073 case RANGE:
13074 case REBUILD:
13075 case REPLICATE:
13076 case REPLICATION:
13077 case RESUMABLE:
13078 case ROWGUIDCOL:
13079 case SAVE:
13080 case SELF:
13081 case SPARSE:
13082 case SWITCH:
13083 case TRAN:
13084 case TRANCOUNT:
13085 case CONTROL:
13086 case CONCAT:
13087 case TAKE:
13088 case OWNERSHIP:
13089 case DEFINITION:
13090 case APPLICATION:
13091 case ASSEMBLY:
13092 case SYMMETRIC:
13093 case ASYMMETRIC:
13094 case SERVER:
13095 case RECEIVE:
13096 case CHANGE:
13097 case TRACE:
13098 case TRACKING:
13099 case RESOURCES:
13100 case SETTINGS:
13101 case STATE:
13102 case AVAILABILITY:
13103 case CREDENTIAL:
13104 case ENDPOINT:
13105 case EVENT:
13106 case NOTIFICATION:
13107 case LINKED:
13108 case AUDIT:
13109 case DDL:
13110 case XML:
13111 case IMPERSONATE:
13112 case SECURABLES:
13113 case AUTHENTICATE:
13114 case EXTERNAL:
13115 case ACCESS:
13116 case ADMINISTER:
13117 case BULK:
13118 case OPERATIONS:
13119 case UNSAFE:
13120 case SHUTDOWN:
13121 case SCOPED:
13122 case CONFIGURATION:
13123 case DATASPACE:
13124 case SERVICE:
13125 case CERTIFICATE:
13126 case CONTRACT:
13127 case ENCRYPTION:
13128 case MASTER:
13129 case DATA:
13130 case SOURCE:
13131 case FILE:
13132 case FORMAT:
13133 case LIBRARY:
13134 case FULLTEXT:
13135 case MASK:
13136 case UNMASK:
13137 case MESSAGE:
13138 case REMOTE:
13139 case BINDING:
13140 case ROUTE:
13141 case SECURITY:
13142 case POLICY:
13143 case AGGREGATE:
13144 case QUEUE:
13145 case RULE:
13146 case SYNONYM:
13147 case COLLECTION:
13148 case SCRIPT:
13149 case KILL:
13150 case BACKUP:
13151 case LOG:
13152 case SHOWPLAN:
13153 case SUBSCRIBE:
13154 case QUERY:
13155 case NOTIFICATIONS:
13156 case CHECKPOINT:
13157 case SEQUENCE:
13158 case ABORT_AFTER_WAIT:
13159 case ALLOW_PAGE_LOCKS:
13160 case ALLOW_ROW_LOCKS:
13161 case ALL_SPARSE_COLUMNS:
13162 case BUCKET_COUNT:
13163 case COLUMNSTORE_ARCHIVE:
13164 case COLUMN_ENCRYPTION_KEY:
13165 case COLUMN_SET:
13166 case COMPRESSION_DELAY:
13167 case DATABASE_DEAULT:
13168 case DATA_COMPRESSION:
13169 case DATA_CONSISTENCY_CHECK:
13170 case ENCRYPTION_TYPE:
13171 case SYSTEM_TIME:
13172 case SYSTEM_VERSIONING:
13173 case TEXTIMAGE_ON:
13174 case WAIT_AT_LOW_PRIORITY:
13175 case STATISTICS_INCREMENTAL:
13176 case STATISTICS_NORECOMPUTE:
13177 case ROUND_ROBIN:
13178 case SCHEMA_AND_DATA:
13179 case SCHEMA_ONLY:
13180 case SORT_IN_TEMPDB:
13181 case IGNORE_DUP_KEY:
13182 case IMPLICIT_TRANSACTIONS:
13183 case MAX_DURATION:
13184 case MEMORY_OPTIMIZED:
13185 case MIGRATION_STATE:
13186 case PAD_INDEX:
13187 case REMOTE_DATA_ARCHIVE:
13188 case FILESTREAM_ON:
13189 case FILETABLE_COLLATE_FILENAME:
13190 case FILETABLE_DIRECTORY:
13191 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
13192 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
13193 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
13194 case FILTER_PREDICATE:
13195 case HISTORY_RETENTION_PERIOD:
13196 case HISTORY_TABLE:
13197 case LOCK_ESCALATION:
13198 case DROP_EXISTING:
13199 case ROW_NUMBER:
13200 case FIRST:
13201 case DATETIME2:
13202 case OUTPUT:
13203 case INSERTED:
13204 case DELETED:
13205 case FILENAME:
13206 case SIZE:
13207 case MAXSIZE:
13208 case FILEGROWTH:
13209 case UNLIMITED:
13210 case KB:
13211 case MB:
13212 case GB:
13213 case TB:
13214 case CONTAINS:
13215 case MEMORY_OPTIMIZED_DATA:
13216 case FILEGROUP:
13217 case NON_TRANSACTED_ACCESS:
13218 case DB_CHAINING:
13219 case TRUSTWORTHY:
13220 case FORWARD_ONLY:
13221 case KEYSET:
13222 case FAST_FORWARD:
13223 case SCROLL_LOCKS:
13224 case OPTIMISTIC:
13225 case TYPE_WARNING:
13226 case SCHEMABINDING:
13227 case CALLER:
13228 case OWNER:
13229 case SNAPSHOT:
13230 case REPEATABLE:
13231 case SERIALIZABLE:
13232 case NATIVE_COMPILATION:
13233 case VIEW_METADATA:
13234 case INSTEAD:
13235 case APPEND:
13236 case INCREMENT:
13237 case CACHE:
13238 case MINVALUE:
13239 case MAXVALUE:
13240 case RESTART:
13241 case LOB_COMPACTION:
13242 case COMPRESS_ALL_ROW_GROUPS:
13243 case REORGANIZE:
13244 case RESUME:
13245 case PAUSE:
13246 case ABORT:
13247 case ACCELERATED_DATABASE_RECOVERY:
13248 case PERSISTENT_VERSION_STORE_FILEGROUP:
13249 case IMMEDIATE:
13250 case NO_WAIT:
13251 case TARGET_RECOVERY_TIME:
13252 case SECONDS:
13253 case HONOR_BROKER_PRIORITY:
13254 case ERROR_BROKER_CONVERSATIONS:
13255 case NEW_BROKER:
13256 case DISABLE_BROKER:
13257 case ENABLE_BROKER:
13258 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
13259 case READ_COMMITTED_SNAPSHOT:
13260 case ALLOW_SNAPSHOT_ISOLATION:
13261 case RECURSIVE_TRIGGERS:
13262 case QUOTED_IDENTIFIER:
13263 case NUMERIC_ROUNDABORT:
13264 case CONCAT_NULL_YIELDS_NULL:
13265 case COMPATIBILITY_LEVEL:
13266 case ARITHABORT:
13267 case ANSI_WARNINGS:
13268 case ANSI_PADDING:
13269 case ANSI_NULLS:
13270 case ANSI_NULL_DEFAULT:
13271 case PAGE_VERIFY:
13272 case CHECKSUM:
13273 case TORN_PAGE_DETECTION:
13274 case BULK_LOGGED:
13275 case RECOVERY:
13276 case TOTAL_EXECUTION_CPU_TIME_MS:
13277 case TOTAL_COMPILE_CPU_TIME_MS:
13278 case STALE_CAPTURE_POLICY_THRESHOLD:
13279 case EXECUTION_COUNT:
13280 case QUERY_CAPTURE_POLICY:
13281 case WAIT_STATS_CAPTURE_MODE:
13282 case MAX_PLANS_PER_QUERY:
13283 case QUERY_CAPTURE_MODE:
13284 case SIZE_BASED_CLEANUP_MODE:
13285 case INTERVAL_LENGTH_MINUTES:
13286 case MAX_STORAGE_SIZE_MB:
13287 case DATA_FLUSH_INTERVAL_SECONDS:
13288 case CLEANUP_POLICY:
13289 case CUSTOM:
13290 case STALE_QUERY_THRESHOLD_DAYS:
13291 case OPERATION_MODE:
13292 case QUERY_STORE:
13293 case CURSOR_DEFAULT:
13294 case GLOBAL:
13295 case CURSOR_CLOSE_ON_COMMIT:
13296 case HOURS:
13297 case CHANGE_RETENTION:
13298 case AUTO_CLEANUP:
13299 case CHANGE_TRACKING:
13300 case AUTOMATIC_TUNING:
13301 case FORCE_LAST_GOOD_PLAN:
13302 case AUTO_UPDATE_STATISTICS_ASYNC:
13303 case AUTO_UPDATE_STATISTICS:
13304 case AUTO_SHRINK:
13305 case AUTO_CREATE_STATISTICS:
13306 case INCREMENTAL:
13307 case AUTO_CLOSE:
13308 case DATA_RETENTION:
13309 case TEMPORAL_HISTORY_RETENTION:
13310 case EDITION:
13311 case MIXED_PAGE_ALLOCATION:
13312 case DISABLED:
13313 case ALLOWED:
13314 case HADR:
13315 case MULTI_USER:
13316 case RESTRICTED_USER:
13317 case SINGLE_USER:
13318 case OFFLINE:
13319 case EMERGENCY:
13320 case SUSPEND:
13321 case DATE_CORRELATION_OPTIMIZATION:
13322 case ELASTIC_POOL:
13323 case SERVICE_OBJECTIVE:
13324 case DATABASE_NAME:
13325 case ALLOW_CONNECTIONS:
13326 case GEO:
13327 case NAMED:
13328 case DATEFIRST:
13329 case BACKUP_STORAGE_REDUNDANCY:
13330 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
13331 case SECONDARY:
13332 case FAILOVER:
13333 case DEFAULT_FULLTEXT_LANGUAGE:
13334 case DEFAULT_LANGUAGE:
13335 case INLINE:
13336 case NESTED_TRIGGERS:
13337 case TRANSFORM_NOISE_WORDS:
13338 case TWO_DIGIT_YEAR_CUTOFF:
13339 case PERSISTENT_LOG_BUFFER:
13340 case DIRECTORY_NAME:
13341 case DATEFORMAT:
13342 case DELAYED_DURABILITY:
13343 case AUTHORIZATION:
13344 case TRANSFER:
13345 case PROVIDER:
13346 case SEARCH:
13347 case MEMBER:
13348 case IDENTIFIER_:
13349 case DELIMITED_IDENTIFIER_:
13350 {
13351 setState(2107);
13352 databaseName();
13353 }
13354 break;
13355 case CURRENT:
13356 {
13357 setState(2108);
13358 match(CURRENT);
13359 }
13360 break;
13361 default:
13362 throw new NoViableAltException(this);
13363 }
13364 setState(2114);
13365 _errHandler.sync(this);
13366 _la = _input.LA(1);
13367 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP_) | (1L << ADD) | (1L << SET))) != 0) || ((((_la - 154)) & ~0x3f) == 0 && ((1L << (_la - 154)) & ((1L << (DEFAULT - 154)) | (1L << (NAME - 154)) | (1L << (READ_ONLY - 154)) | (1L << (READONLY - 154)))) != 0) || _la==COLLATE || ((((_la - 557)) & ~0x3f) == 0 && ((1L << (_la - 557)) & ((1L << (REMOVE - 557)) | (1L << (AUTOGROW_SINGLE_FILE - 557)) | (1L << (AUTOGROW_ALL_FILES - 557)) | (1L << (READWRITE - 557)) | (1L << (READ_WRITE - 557)) | (1L << (MODIFY - 557)))) != 0) || _la==FORCE_FAILOVER_ALLOW_DATA_LOSS || _la==FAILOVER) {
13368 {
13369 {
13370 setState(2111);
13371 alterDatabaseClause();
13372 }
13373 }
13374 setState(2116);
13375 _errHandler.sync(this);
13376 _la = _input.LA(1);
13377 }
13378 }
13379 }
13380 catch (RecognitionException re) {
13381 _localctx.exception = re;
13382 _errHandler.reportError(this, re);
13383 _errHandler.recover(this, re);
13384 }
13385 finally {
13386 exitRule();
13387 }
13388 return _localctx;
13389 }
13390
13391 public static class AlterProcedureContext extends ParserRuleContext {
13392 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13393 public ProcedureNameContext procedureName() {
13394 return getRuleContext(ProcedureNameContext.class,0);
13395 }
13396 public ProcParametersContext procParameters() {
13397 return getRuleContext(ProcParametersContext.class,0);
13398 }
13399 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
13400 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
13401 }
13402 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
13403 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
13404 public AlterProcedureContext(ParserRuleContext parent, int invokingState) {
13405 super(parent, invokingState);
13406 }
13407 @Override public int getRuleIndex() { return RULE_alterProcedure; }
13408 @Override
13409 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13410 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterProcedure(this);
13411 else return visitor.visitChildren(this);
13412 }
13413 }
13414
13415 public final AlterProcedureContext alterProcedure() throws RecognitionException {
13416 AlterProcedureContext _localctx = new AlterProcedureContext(_ctx, getState());
13417 enterRule(_localctx, 270, RULE_alterProcedure);
13418 int _la;
13419 try {
13420 enterOuterAlt(_localctx, 1);
13421 {
13422 setState(2117);
13423 match(ALTER);
13424 setState(2118);
13425 _la = _input.LA(1);
13426 if ( !(_la==PROCEDURE || _la==PROC) ) {
13427 _errHandler.recoverInline(this);
13428 }
13429 else {
13430 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
13431 _errHandler.reportMatch(this);
13432 consume();
13433 }
13434 setState(2119);
13435 procedureName();
13436 setState(2120);
13437 procParameters();
13438 setState(2121);
13439 createOrAlterProcClause();
13440 }
13441 }
13442 catch (RecognitionException re) {
13443 _localctx.exception = re;
13444 _errHandler.reportError(this, re);
13445 _errHandler.recover(this, re);
13446 }
13447 finally {
13448 exitRule();
13449 }
13450 return _localctx;
13451 }
13452
13453 public static class AlterFunctionContext extends ParserRuleContext {
13454 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13455 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
13456 public FunctionNameContext functionName() {
13457 return getRuleContext(FunctionNameContext.class,0);
13458 }
13459 public FuncParametersContext funcParameters() {
13460 return getRuleContext(FuncParametersContext.class,0);
13461 }
13462 public FuncReturnsContext funcReturns() {
13463 return getRuleContext(FuncReturnsContext.class,0);
13464 }
13465 public AlterFunctionContext(ParserRuleContext parent, int invokingState) {
13466 super(parent, invokingState);
13467 }
13468 @Override public int getRuleIndex() { return RULE_alterFunction; }
13469 @Override
13470 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13471 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterFunction(this);
13472 else return visitor.visitChildren(this);
13473 }
13474 }
13475
13476 public final AlterFunctionContext alterFunction() throws RecognitionException {
13477 AlterFunctionContext _localctx = new AlterFunctionContext(_ctx, getState());
13478 enterRule(_localctx, 272, RULE_alterFunction);
13479 try {
13480 enterOuterAlt(_localctx, 1);
13481 {
13482 setState(2123);
13483 match(ALTER);
13484 setState(2124);
13485 match(FUNCTION);
13486 setState(2125);
13487 functionName();
13488 setState(2126);
13489 funcParameters();
13490 setState(2127);
13491 funcReturns();
13492 }
13493 }
13494 catch (RecognitionException re) {
13495 _localctx.exception = re;
13496 _errHandler.reportError(this, re);
13497 _errHandler.recover(this, re);
13498 }
13499 finally {
13500 exitRule();
13501 }
13502 return _localctx;
13503 }
13504
13505 public static class AlterViewContext extends ParserRuleContext {
13506 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13507 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
13508 public ViewNameContext viewName() {
13509 return getRuleContext(ViewNameContext.class,0);
13510 }
13511 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
13512 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
13513 }
13514 public AlterViewContext(ParserRuleContext parent, int invokingState) {
13515 super(parent, invokingState);
13516 }
13517 @Override public int getRuleIndex() { return RULE_alterView; }
13518 @Override
13519 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13520 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterView(this);
13521 else return visitor.visitChildren(this);
13522 }
13523 }
13524
13525 public final AlterViewContext alterView() throws RecognitionException {
13526 AlterViewContext _localctx = new AlterViewContext(_ctx, getState());
13527 enterRule(_localctx, 274, RULE_alterView);
13528 try {
13529 enterOuterAlt(_localctx, 1);
13530 {
13531 setState(2129);
13532 match(ALTER);
13533 setState(2130);
13534 match(VIEW);
13535 setState(2131);
13536 viewName();
13537 setState(2132);
13538 createOrAlterViewClause();
13539 }
13540 }
13541 catch (RecognitionException re) {
13542 _localctx.exception = re;
13543 _errHandler.reportError(this, re);
13544 _errHandler.recover(this, re);
13545 }
13546 finally {
13547 exitRule();
13548 }
13549 return _localctx;
13550 }
13551
13552 public static class AlterTriggerContext extends ParserRuleContext {
13553 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13554 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
13555 public TriggerNameContext triggerName() {
13556 return getRuleContext(TriggerNameContext.class,0);
13557 }
13558 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13559 public TriggerTargetContext triggerTarget() {
13560 return getRuleContext(TriggerTargetContext.class,0);
13561 }
13562 public CreateTriggerClauseContext createTriggerClause() {
13563 return getRuleContext(CreateTriggerClauseContext.class,0);
13564 }
13565 public AlterTriggerContext(ParserRuleContext parent, int invokingState) {
13566 super(parent, invokingState);
13567 }
13568 @Override public int getRuleIndex() { return RULE_alterTrigger; }
13569 @Override
13570 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13571 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTrigger(this);
13572 else return visitor.visitChildren(this);
13573 }
13574 }
13575
13576 public final AlterTriggerContext alterTrigger() throws RecognitionException {
13577 AlterTriggerContext _localctx = new AlterTriggerContext(_ctx, getState());
13578 enterRule(_localctx, 276, RULE_alterTrigger);
13579 try {
13580 enterOuterAlt(_localctx, 1);
13581 {
13582 setState(2134);
13583 match(ALTER);
13584 setState(2135);
13585 match(TRIGGER);
13586 setState(2136);
13587 triggerName();
13588 setState(2137);
13589 match(ON);
13590 setState(2138);
13591 triggerTarget();
13592 setState(2139);
13593 createTriggerClause();
13594 }
13595 }
13596 catch (RecognitionException re) {
13597 _localctx.exception = re;
13598 _errHandler.reportError(this, re);
13599 _errHandler.recover(this, re);
13600 }
13601 finally {
13602 exitRule();
13603 }
13604 return _localctx;
13605 }
13606
13607 public static class AlterSequenceContext extends ParserRuleContext {
13608 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13609 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
13610 public SequenceNameContext sequenceName() {
13611 return getRuleContext(SequenceNameContext.class,0);
13612 }
13613 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
13614 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
13615 }
13616 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
13617 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
13618 }
13619 public AlterSequenceContext(ParserRuleContext parent, int invokingState) {
13620 super(parent, invokingState);
13621 }
13622 @Override public int getRuleIndex() { return RULE_alterSequence; }
13623 @Override
13624 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13625 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSequence(this);
13626 else return visitor.visitChildren(this);
13627 }
13628 }
13629
13630 public final AlterSequenceContext alterSequence() throws RecognitionException {
13631 AlterSequenceContext _localctx = new AlterSequenceContext(_ctx, getState());
13632 enterRule(_localctx, 278, RULE_alterSequence);
13633 int _la;
13634 try {
13635 enterOuterAlt(_localctx, 1);
13636 {
13637 setState(2141);
13638 match(ALTER);
13639 setState(2142);
13640 match(SEQUENCE);
13641 setState(2143);
13642 sequenceName();
13643 setState(2147);
13644 _errHandler.sync(this);
13645 _la = _input.LA(1);
13646 while (_la==AS || _la==NO || _la==START || ((((_la - 541)) & ~0x3f) == 0 && ((1L << (_la - 541)) & ((1L << (INCREMENT - 541)) | (1L << (CYCLE - 541)) | (1L << (CACHE - 541)) | (1L << (MINVALUE - 541)) | (1L << (MAXVALUE - 541)) | (1L << (RESTART - 541)))) != 0)) {
13647 {
13648 {
13649 setState(2144);
13650 createOrAlterSequenceClause();
13651 }
13652 }
13653 setState(2149);
13654 _errHandler.sync(this);
13655 _la = _input.LA(1);
13656 }
13657 }
13658 }
13659 catch (RecognitionException re) {
13660 _localctx.exception = re;
13661 _errHandler.reportError(this, re);
13662 _errHandler.recover(this, re);
13663 }
13664 finally {
13665 exitRule();
13666 }
13667 return _localctx;
13668 }
13669
13670 public static class AlterServiceContext extends ParserRuleContext {
13671 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13672 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
13673 public ServiceNameContext serviceName() {
13674 return getRuleContext(ServiceNameContext.class,0);
13675 }
13676 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13677 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
13678 public QueueNameContext queueName() {
13679 return getRuleContext(QueueNameContext.class,0);
13680 }
13681 public AlterServiceClauseContext alterServiceClause() {
13682 return getRuleContext(AlterServiceClauseContext.class,0);
13683 }
13684 public AlterServiceContext(ParserRuleContext parent, int invokingState) {
13685 super(parent, invokingState);
13686 }
13687 @Override public int getRuleIndex() { return RULE_alterService; }
13688 @Override
13689 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13690 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterService(this);
13691 else return visitor.visitChildren(this);
13692 }
13693 }
13694
13695 public final AlterServiceContext alterService() throws RecognitionException {
13696 AlterServiceContext _localctx = new AlterServiceContext(_ctx, getState());
13697 enterRule(_localctx, 280, RULE_alterService);
13698 int _la;
13699 try {
13700 enterOuterAlt(_localctx, 1);
13701 {
13702 setState(2150);
13703 match(ALTER);
13704 setState(2151);
13705 match(SERVICE);
13706 setState(2152);
13707 serviceName();
13708 setState(2156);
13709 _errHandler.sync(this);
13710 _la = _input.LA(1);
13711 if (_la==ON) {
13712 {
13713 setState(2153);
13714 match(ON);
13715 setState(2154);
13716 match(QUEUE);
13717 setState(2155);
13718 queueName();
13719 }
13720 }
13721
13722 setState(2159);
13723 _errHandler.sync(this);
13724 _la = _input.LA(1);
13725 if (_la==LP_) {
13726 {
13727 setState(2158);
13728 alterServiceClause();
13729 }
13730 }
13731
13732 }
13733 }
13734 catch (RecognitionException re) {
13735 _localctx.exception = re;
13736 _errHandler.reportError(this, re);
13737 _errHandler.recover(this, re);
13738 }
13739 finally {
13740 exitRule();
13741 }
13742 return _localctx;
13743 }
13744
13745 public static class AlterSchemaContext extends ParserRuleContext {
13746 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13747 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
13748 public SchemaNameContext schemaName() {
13749 return getRuleContext(SchemaNameContext.class,0);
13750 }
13751 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
13752 public IgnoredIdentifierContext ignoredIdentifier() {
13753 return getRuleContext(IgnoredIdentifierContext.class,0);
13754 }
13755 public Class_Context class_() {
13756 return getRuleContext(Class_Context.class,0);
13757 }
13758 public AlterSchemaContext(ParserRuleContext parent, int invokingState) {
13759 super(parent, invokingState);
13760 }
13761 @Override public int getRuleIndex() { return RULE_alterSchema; }
13762 @Override
13763 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13764 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSchema(this);
13765 else return visitor.visitChildren(this);
13766 }
13767 }
13768
13769 public final AlterSchemaContext alterSchema() throws RecognitionException {
13770 AlterSchemaContext _localctx = new AlterSchemaContext(_ctx, getState());
13771 enterRule(_localctx, 282, RULE_alterSchema);
13772 try {
13773 enterOuterAlt(_localctx, 1);
13774 {
13775 setState(2161);
13776 match(ALTER);
13777 setState(2162);
13778 match(SCHEMA);
13779 setState(2163);
13780 schemaName();
13781 setState(2164);
13782 match(TRANSFER);
13783 setState(2166);
13784 _errHandler.sync(this);
13785 switch ( getInterpreter().adaptivePredict(_input,136,_ctx) ) {
13786 case 1:
13787 {
13788 setState(2165);
13789 class_();
13790 }
13791 break;
13792 }
13793 setState(2168);
13794 ignoredIdentifier();
13795 }
13796 }
13797 catch (RecognitionException re) {
13798 _localctx.exception = re;
13799 _errHandler.reportError(this, re);
13800 _errHandler.recover(this, re);
13801 }
13802 finally {
13803 exitRule();
13804 }
13805 return _localctx;
13806 }
13807
13808 public static class DropTableContext extends ParserRuleContext {
13809 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13810 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
13811 public TableNamesContext tableNames() {
13812 return getRuleContext(TableNamesContext.class,0);
13813 }
13814 public IfExistsContext ifExists() {
13815 return getRuleContext(IfExistsContext.class,0);
13816 }
13817 public DropTableContext(ParserRuleContext parent, int invokingState) {
13818 super(parent, invokingState);
13819 }
13820 @Override public int getRuleIndex() { return RULE_dropTable; }
13821 @Override
13822 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13823 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTable(this);
13824 else return visitor.visitChildren(this);
13825 }
13826 }
13827
13828 public final DropTableContext dropTable() throws RecognitionException {
13829 DropTableContext _localctx = new DropTableContext(_ctx, getState());
13830 enterRule(_localctx, 284, RULE_dropTable);
13831 int _la;
13832 try {
13833 enterOuterAlt(_localctx, 1);
13834 {
13835 setState(2170);
13836 match(DROP);
13837 setState(2171);
13838 match(TABLE);
13839 setState(2173);
13840 _errHandler.sync(this);
13841 _la = _input.LA(1);
13842 if (_la==IF) {
13843 {
13844 setState(2172);
13845 ifExists();
13846 }
13847 }
13848
13849 setState(2175);
13850 tableNames();
13851 }
13852 }
13853 catch (RecognitionException re) {
13854 _localctx.exception = re;
13855 _errHandler.reportError(this, re);
13856 _errHandler.recover(this, re);
13857 }
13858 finally {
13859 exitRule();
13860 }
13861 return _localctx;
13862 }
13863
13864 public static class DropIndexContext extends ParserRuleContext {
13865 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13866 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
13867 public IndexNameContext indexName() {
13868 return getRuleContext(IndexNameContext.class,0);
13869 }
13870 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13871 public TableNameContext tableName() {
13872 return getRuleContext(TableNameContext.class,0);
13873 }
13874 public IfExistsContext ifExists() {
13875 return getRuleContext(IfExistsContext.class,0);
13876 }
13877 public DropIndexContext(ParserRuleContext parent, int invokingState) {
13878 super(parent, invokingState);
13879 }
13880 @Override public int getRuleIndex() { return RULE_dropIndex; }
13881 @Override
13882 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13883 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndex(this);
13884 else return visitor.visitChildren(this);
13885 }
13886 }
13887
13888 public final DropIndexContext dropIndex() throws RecognitionException {
13889 DropIndexContext _localctx = new DropIndexContext(_ctx, getState());
13890 enterRule(_localctx, 286, RULE_dropIndex);
13891 int _la;
13892 try {
13893 enterOuterAlt(_localctx, 1);
13894 {
13895 setState(2177);
13896 match(DROP);
13897 setState(2178);
13898 match(INDEX);
13899 setState(2180);
13900 _errHandler.sync(this);
13901 _la = _input.LA(1);
13902 if (_la==IF) {
13903 {
13904 setState(2179);
13905 ifExists();
13906 }
13907 }
13908
13909 setState(2182);
13910 indexName();
13911 setState(2183);
13912 match(ON);
13913 setState(2184);
13914 tableName();
13915 }
13916 }
13917 catch (RecognitionException re) {
13918 _localctx.exception = re;
13919 _errHandler.reportError(this, re);
13920 _errHandler.recover(this, re);
13921 }
13922 finally {
13923 exitRule();
13924 }
13925 return _localctx;
13926 }
13927
13928 public static class DropDatabaseContext extends ParserRuleContext {
13929 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13930 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
13931 public List<DatabaseNameContext> databaseName() {
13932 return getRuleContexts(DatabaseNameContext.class);
13933 }
13934 public DatabaseNameContext databaseName(int i) {
13935 return getRuleContext(DatabaseNameContext.class,i);
13936 }
13937 public IfExistsContext ifExists() {
13938 return getRuleContext(IfExistsContext.class,0);
13939 }
13940 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13941 public TerminalNode COMMA_(int i) {
13942 return getToken(SQLServerStatementParser.COMMA_, i);
13943 }
13944 public DropDatabaseContext(ParserRuleContext parent, int invokingState) {
13945 super(parent, invokingState);
13946 }
13947 @Override public int getRuleIndex() { return RULE_dropDatabase; }
13948 @Override
13949 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13950 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropDatabase(this);
13951 else return visitor.visitChildren(this);
13952 }
13953 }
13954
13955 public final DropDatabaseContext dropDatabase() throws RecognitionException {
13956 DropDatabaseContext _localctx = new DropDatabaseContext(_ctx, getState());
13957 enterRule(_localctx, 288, RULE_dropDatabase);
13958 int _la;
13959 try {
13960 enterOuterAlt(_localctx, 1);
13961 {
13962 setState(2186);
13963 match(DROP);
13964 setState(2187);
13965 match(DATABASE);
13966 setState(2189);
13967 _errHandler.sync(this);
13968 _la = _input.LA(1);
13969 if (_la==IF) {
13970 {
13971 setState(2188);
13972 ifExists();
13973 }
13974 }
13975
13976 setState(2191);
13977 databaseName();
13978 setState(2196);
13979 _errHandler.sync(this);
13980 _la = _input.LA(1);
13981 while (_la==COMMA_) {
13982 {
13983 {
13984 setState(2192);
13985 match(COMMA_);
13986 setState(2193);
13987 databaseName();
13988 }
13989 }
13990 setState(2198);
13991 _errHandler.sync(this);
13992 _la = _input.LA(1);
13993 }
13994 }
13995 }
13996 catch (RecognitionException re) {
13997 _localctx.exception = re;
13998 _errHandler.reportError(this, re);
13999 _errHandler.recover(this, re);
14000 }
14001 finally {
14002 exitRule();
14003 }
14004 return _localctx;
14005 }
14006
14007 public static class DropFunctionContext extends ParserRuleContext {
14008 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14009 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
14010 public List<FunctionNameContext> functionName() {
14011 return getRuleContexts(FunctionNameContext.class);
14012 }
14013 public FunctionNameContext functionName(int i) {
14014 return getRuleContext(FunctionNameContext.class,i);
14015 }
14016 public IfExistsContext ifExists() {
14017 return getRuleContext(IfExistsContext.class,0);
14018 }
14019 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14020 public TerminalNode COMMA_(int i) {
14021 return getToken(SQLServerStatementParser.COMMA_, i);
14022 }
14023 public DropFunctionContext(ParserRuleContext parent, int invokingState) {
14024 super(parent, invokingState);
14025 }
14026 @Override public int getRuleIndex() { return RULE_dropFunction; }
14027 @Override
14028 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14029 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropFunction(this);
14030 else return visitor.visitChildren(this);
14031 }
14032 }
14033
14034 public final DropFunctionContext dropFunction() throws RecognitionException {
14035 DropFunctionContext _localctx = new DropFunctionContext(_ctx, getState());
14036 enterRule(_localctx, 290, RULE_dropFunction);
14037 int _la;
14038 try {
14039 enterOuterAlt(_localctx, 1);
14040 {
14041 setState(2199);
14042 match(DROP);
14043 setState(2200);
14044 match(FUNCTION);
14045 setState(2202);
14046 _errHandler.sync(this);
14047 _la = _input.LA(1);
14048 if (_la==IF) {
14049 {
14050 setState(2201);
14051 ifExists();
14052 }
14053 }
14054
14055 setState(2204);
14056 functionName();
14057 setState(2209);
14058 _errHandler.sync(this);
14059 _la = _input.LA(1);
14060 while (_la==COMMA_) {
14061 {
14062 {
14063 setState(2205);
14064 match(COMMA_);
14065 setState(2206);
14066 functionName();
14067 }
14068 }
14069 setState(2211);
14070 _errHandler.sync(this);
14071 _la = _input.LA(1);
14072 }
14073 }
14074 }
14075 catch (RecognitionException re) {
14076 _localctx.exception = re;
14077 _errHandler.reportError(this, re);
14078 _errHandler.recover(this, re);
14079 }
14080 finally {
14081 exitRule();
14082 }
14083 return _localctx;
14084 }
14085
14086 public static class DropProcedureContext extends ParserRuleContext {
14087 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14088 public List<ProcedureNameContext> procedureName() {
14089 return getRuleContexts(ProcedureNameContext.class);
14090 }
14091 public ProcedureNameContext procedureName(int i) {
14092 return getRuleContext(ProcedureNameContext.class,i);
14093 }
14094 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
14095 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
14096 public IfExistsContext ifExists() {
14097 return getRuleContext(IfExistsContext.class,0);
14098 }
14099 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14100 public TerminalNode COMMA_(int i) {
14101 return getToken(SQLServerStatementParser.COMMA_, i);
14102 }
14103 public DropProcedureContext(ParserRuleContext parent, int invokingState) {
14104 super(parent, invokingState);
14105 }
14106 @Override public int getRuleIndex() { return RULE_dropProcedure; }
14107 @Override
14108 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14109 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropProcedure(this);
14110 else return visitor.visitChildren(this);
14111 }
14112 }
14113
14114 public final DropProcedureContext dropProcedure() throws RecognitionException {
14115 DropProcedureContext _localctx = new DropProcedureContext(_ctx, getState());
14116 enterRule(_localctx, 292, RULE_dropProcedure);
14117 int _la;
14118 try {
14119 enterOuterAlt(_localctx, 1);
14120 {
14121 setState(2212);
14122 match(DROP);
14123 setState(2213);
14124 _la = _input.LA(1);
14125 if ( !(_la==PROCEDURE || _la==PROC) ) {
14126 _errHandler.recoverInline(this);
14127 }
14128 else {
14129 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14130 _errHandler.reportMatch(this);
14131 consume();
14132 }
14133 setState(2215);
14134 _errHandler.sync(this);
14135 _la = _input.LA(1);
14136 if (_la==IF) {
14137 {
14138 setState(2214);
14139 ifExists();
14140 }
14141 }
14142
14143 setState(2217);
14144 procedureName();
14145 setState(2222);
14146 _errHandler.sync(this);
14147 _la = _input.LA(1);
14148 while (_la==COMMA_) {
14149 {
14150 {
14151 setState(2218);
14152 match(COMMA_);
14153 setState(2219);
14154 procedureName();
14155 }
14156 }
14157 setState(2224);
14158 _errHandler.sync(this);
14159 _la = _input.LA(1);
14160 }
14161 }
14162 }
14163 catch (RecognitionException re) {
14164 _localctx.exception = re;
14165 _errHandler.reportError(this, re);
14166 _errHandler.recover(this, re);
14167 }
14168 finally {
14169 exitRule();
14170 }
14171 return _localctx;
14172 }
14173
14174 public static class DropViewContext extends ParserRuleContext {
14175 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14176 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
14177 public List<ViewNameContext> viewName() {
14178 return getRuleContexts(ViewNameContext.class);
14179 }
14180 public ViewNameContext viewName(int i) {
14181 return getRuleContext(ViewNameContext.class,i);
14182 }
14183 public IfExistsContext ifExists() {
14184 return getRuleContext(IfExistsContext.class,0);
14185 }
14186 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14187 public TerminalNode COMMA_(int i) {
14188 return getToken(SQLServerStatementParser.COMMA_, i);
14189 }
14190 public DropViewContext(ParserRuleContext parent, int invokingState) {
14191 super(parent, invokingState);
14192 }
14193 @Override public int getRuleIndex() { return RULE_dropView; }
14194 @Override
14195 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14196 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropView(this);
14197 else return visitor.visitChildren(this);
14198 }
14199 }
14200
14201 public final DropViewContext dropView() throws RecognitionException {
14202 DropViewContext _localctx = new DropViewContext(_ctx, getState());
14203 enterRule(_localctx, 294, RULE_dropView);
14204 int _la;
14205 try {
14206 enterOuterAlt(_localctx, 1);
14207 {
14208 setState(2225);
14209 match(DROP);
14210 setState(2226);
14211 match(VIEW);
14212 setState(2228);
14213 _errHandler.sync(this);
14214 _la = _input.LA(1);
14215 if (_la==IF) {
14216 {
14217 setState(2227);
14218 ifExists();
14219 }
14220 }
14221
14222 setState(2230);
14223 viewName();
14224 setState(2235);
14225 _errHandler.sync(this);
14226 _la = _input.LA(1);
14227 while (_la==COMMA_) {
14228 {
14229 {
14230 setState(2231);
14231 match(COMMA_);
14232 setState(2232);
14233 viewName();
14234 }
14235 }
14236 setState(2237);
14237 _errHandler.sync(this);
14238 _la = _input.LA(1);
14239 }
14240 }
14241 }
14242 catch (RecognitionException re) {
14243 _localctx.exception = re;
14244 _errHandler.reportError(this, re);
14245 _errHandler.recover(this, re);
14246 }
14247 finally {
14248 exitRule();
14249 }
14250 return _localctx;
14251 }
14252
14253 public static class DropTriggerContext extends ParserRuleContext {
14254 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14255 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
14256 public List<TriggerNameContext> triggerName() {
14257 return getRuleContexts(TriggerNameContext.class);
14258 }
14259 public TriggerNameContext triggerName(int i) {
14260 return getRuleContext(TriggerNameContext.class,i);
14261 }
14262 public IfExistsContext ifExists() {
14263 return getRuleContext(IfExistsContext.class,0);
14264 }
14265 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14266 public TerminalNode COMMA_(int i) {
14267 return getToken(SQLServerStatementParser.COMMA_, i);
14268 }
14269 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14270 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
14271 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
14272 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
14273 public DropTriggerContext(ParserRuleContext parent, int invokingState) {
14274 super(parent, invokingState);
14275 }
14276 @Override public int getRuleIndex() { return RULE_dropTrigger; }
14277 @Override
14278 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14279 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTrigger(this);
14280 else return visitor.visitChildren(this);
14281 }
14282 }
14283
14284 public final DropTriggerContext dropTrigger() throws RecognitionException {
14285 DropTriggerContext _localctx = new DropTriggerContext(_ctx, getState());
14286 enterRule(_localctx, 296, RULE_dropTrigger);
14287 int _la;
14288 try {
14289 enterOuterAlt(_localctx, 1);
14290 {
14291 setState(2238);
14292 match(DROP);
14293 setState(2239);
14294 match(TRIGGER);
14295 setState(2241);
14296 _errHandler.sync(this);
14297 _la = _input.LA(1);
14298 if (_la==IF) {
14299 {
14300 setState(2240);
14301 ifExists();
14302 }
14303 }
14304
14305 setState(2243);
14306 triggerName();
14307 setState(2248);
14308 _errHandler.sync(this);
14309 _la = _input.LA(1);
14310 while (_la==COMMA_) {
14311 {
14312 {
14313 setState(2244);
14314 match(COMMA_);
14315 setState(2245);
14316 triggerName();
14317 }
14318 }
14319 setState(2250);
14320 _errHandler.sync(this);
14321 _la = _input.LA(1);
14322 }
14323 setState(2257);
14324 _errHandler.sync(this);
14325 _la = _input.LA(1);
14326 if (_la==ON) {
14327 {
14328 setState(2251);
14329 match(ON);
14330 setState(2255);
14331 _errHandler.sync(this);
14332 switch (_input.LA(1)) {
14333 case DATABASE:
14334 {
14335 setState(2252);
14336 match(DATABASE);
14337 }
14338 break;
14339 case ALL:
14340 {
14341 setState(2253);
14342 match(ALL);
14343 setState(2254);
14344 match(SERVER);
14345 }
14346 break;
14347 default:
14348 throw new NoViableAltException(this);
14349 }
14350 }
14351 }
14352
14353 }
14354 }
14355 catch (RecognitionException re) {
14356 _localctx.exception = re;
14357 _errHandler.reportError(this, re);
14358 _errHandler.recover(this, re);
14359 }
14360 finally {
14361 exitRule();
14362 }
14363 return _localctx;
14364 }
14365
14366 public static class DropSequenceContext extends ParserRuleContext {
14367 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14368 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
14369 public List<SequenceNameContext> sequenceName() {
14370 return getRuleContexts(SequenceNameContext.class);
14371 }
14372 public SequenceNameContext sequenceName(int i) {
14373 return getRuleContext(SequenceNameContext.class,i);
14374 }
14375 public IfExistsContext ifExists() {
14376 return getRuleContext(IfExistsContext.class,0);
14377 }
14378 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14379 public TerminalNode COMMA_(int i) {
14380 return getToken(SQLServerStatementParser.COMMA_, i);
14381 }
14382 public DropSequenceContext(ParserRuleContext parent, int invokingState) {
14383 super(parent, invokingState);
14384 }
14385 @Override public int getRuleIndex() { return RULE_dropSequence; }
14386 @Override
14387 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14388 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSequence(this);
14389 else return visitor.visitChildren(this);
14390 }
14391 }
14392
14393 public final DropSequenceContext dropSequence() throws RecognitionException {
14394 DropSequenceContext _localctx = new DropSequenceContext(_ctx, getState());
14395 enterRule(_localctx, 298, RULE_dropSequence);
14396 int _la;
14397 try {
14398 enterOuterAlt(_localctx, 1);
14399 {
14400 setState(2259);
14401 match(DROP);
14402 setState(2260);
14403 match(SEQUENCE);
14404 setState(2262);
14405 _errHandler.sync(this);
14406 _la = _input.LA(1);
14407 if (_la==IF) {
14408 {
14409 setState(2261);
14410 ifExists();
14411 }
14412 }
14413
14414 setState(2264);
14415 sequenceName();
14416 setState(2269);
14417 _errHandler.sync(this);
14418 _la = _input.LA(1);
14419 while (_la==COMMA_) {
14420 {
14421 {
14422 setState(2265);
14423 match(COMMA_);
14424 setState(2266);
14425 sequenceName();
14426 }
14427 }
14428 setState(2271);
14429 _errHandler.sync(this);
14430 _la = _input.LA(1);
14431 }
14432 }
14433 }
14434 catch (RecognitionException re) {
14435 _localctx.exception = re;
14436 _errHandler.reportError(this, re);
14437 _errHandler.recover(this, re);
14438 }
14439 finally {
14440 exitRule();
14441 }
14442 return _localctx;
14443 }
14444
14445 public static class DropServiceContext extends ParserRuleContext {
14446 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14447 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
14448 public ServiceNameContext serviceName() {
14449 return getRuleContext(ServiceNameContext.class,0);
14450 }
14451 public DropServiceContext(ParserRuleContext parent, int invokingState) {
14452 super(parent, invokingState);
14453 }
14454 @Override public int getRuleIndex() { return RULE_dropService; }
14455 @Override
14456 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14457 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropService(this);
14458 else return visitor.visitChildren(this);
14459 }
14460 }
14461
14462 public final DropServiceContext dropService() throws RecognitionException {
14463 DropServiceContext _localctx = new DropServiceContext(_ctx, getState());
14464 enterRule(_localctx, 300, RULE_dropService);
14465 try {
14466 enterOuterAlt(_localctx, 1);
14467 {
14468 setState(2272);
14469 match(DROP);
14470 setState(2273);
14471 match(SERVICE);
14472 setState(2274);
14473 serviceName();
14474 }
14475 }
14476 catch (RecognitionException re) {
14477 _localctx.exception = re;
14478 _errHandler.reportError(this, re);
14479 _errHandler.recover(this, re);
14480 }
14481 finally {
14482 exitRule();
14483 }
14484 return _localctx;
14485 }
14486
14487 public static class DropSchemaContext extends ParserRuleContext {
14488 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14489 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
14490 public SchemaNameContext schemaName() {
14491 return getRuleContext(SchemaNameContext.class,0);
14492 }
14493 public IfExistsContext ifExists() {
14494 return getRuleContext(IfExistsContext.class,0);
14495 }
14496 public DropSchemaContext(ParserRuleContext parent, int invokingState) {
14497 super(parent, invokingState);
14498 }
14499 @Override public int getRuleIndex() { return RULE_dropSchema; }
14500 @Override
14501 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14502 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSchema(this);
14503 else return visitor.visitChildren(this);
14504 }
14505 }
14506
14507 public final DropSchemaContext dropSchema() throws RecognitionException {
14508 DropSchemaContext _localctx = new DropSchemaContext(_ctx, getState());
14509 enterRule(_localctx, 302, RULE_dropSchema);
14510 int _la;
14511 try {
14512 enterOuterAlt(_localctx, 1);
14513 {
14514 setState(2276);
14515 match(DROP);
14516 setState(2277);
14517 match(SCHEMA);
14518 setState(2279);
14519 _errHandler.sync(this);
14520 _la = _input.LA(1);
14521 if (_la==IF) {
14522 {
14523 setState(2278);
14524 ifExists();
14525 }
14526 }
14527
14528 setState(2281);
14529 schemaName();
14530 }
14531 }
14532 catch (RecognitionException re) {
14533 _localctx.exception = re;
14534 _errHandler.reportError(this, re);
14535 _errHandler.recover(this, re);
14536 }
14537 finally {
14538 exitRule();
14539 }
14540 return _localctx;
14541 }
14542
14543 public static class TruncateTableContext extends ParserRuleContext {
14544 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
14545 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
14546 public TableNameContext tableName() {
14547 return getRuleContext(TableNameContext.class,0);
14548 }
14549 public TruncateTableContext(ParserRuleContext parent, int invokingState) {
14550 super(parent, invokingState);
14551 }
14552 @Override public int getRuleIndex() { return RULE_truncateTable; }
14553 @Override
14554 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14555 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTruncateTable(this);
14556 else return visitor.visitChildren(this);
14557 }
14558 }
14559
14560 public final TruncateTableContext truncateTable() throws RecognitionException {
14561 TruncateTableContext _localctx = new TruncateTableContext(_ctx, getState());
14562 enterRule(_localctx, 304, RULE_truncateTable);
14563 try {
14564 enterOuterAlt(_localctx, 1);
14565 {
14566 setState(2283);
14567 match(TRUNCATE);
14568 setState(2284);
14569 match(TABLE);
14570 setState(2285);
14571 tableName();
14572 }
14573 }
14574 catch (RecognitionException re) {
14575 _localctx.exception = re;
14576 _errHandler.reportError(this, re);
14577 _errHandler.recover(this, re);
14578 }
14579 finally {
14580 exitRule();
14581 }
14582 return _localctx;
14583 }
14584
14585 public static class UpdateStatisticsContext extends ParserRuleContext {
14586 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
14587 public TerminalNode STATISTICS() { return getToken(SQLServerStatementParser.STATISTICS, 0); }
14588 public TableNameContext tableName() {
14589 return getRuleContext(TableNameContext.class,0);
14590 }
14591 public List<IndexNameContext> indexName() {
14592 return getRuleContexts(IndexNameContext.class);
14593 }
14594 public IndexNameContext indexName(int i) {
14595 return getRuleContext(IndexNameContext.class,i);
14596 }
14597 public StatisticsWithClauseContext statisticsWithClause() {
14598 return getRuleContext(StatisticsWithClauseContext.class,0);
14599 }
14600 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14601 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14602 public TerminalNode COMMA_(int i) {
14603 return getToken(SQLServerStatementParser.COMMA_, i);
14604 }
14605 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14606 public UpdateStatisticsContext(ParserRuleContext parent, int invokingState) {
14607 super(parent, invokingState);
14608 }
14609 @Override public int getRuleIndex() { return RULE_updateStatistics; }
14610 @Override
14611 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14612 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdateStatistics(this);
14613 else return visitor.visitChildren(this);
14614 }
14615 }
14616
14617 public final UpdateStatisticsContext updateStatistics() throws RecognitionException {
14618 UpdateStatisticsContext _localctx = new UpdateStatisticsContext(_ctx, getState());
14619 enterRule(_localctx, 306, RULE_updateStatistics);
14620 int _la;
14621 try {
14622 enterOuterAlt(_localctx, 1);
14623 {
14624 setState(2287);
14625 match(UPDATE);
14626 setState(2288);
14627 match(STATISTICS);
14628 setState(2289);
14629 tableName();
14630 setState(2304);
14631 _errHandler.sync(this);
14632 _la = _input.LA(1);
14633 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CAST - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (DATE - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)) | (1L << (BLOCKERS - 203)) | (1L << (CLUSTERED - 203)) | (1L << (NONCLUSTERED - 203)) | (1L << (COLUMNSTORE - 203)) | (1L << (CONTENT - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)) | (1L << (CONTROL - 267)) | (1L << (CONCAT - 267)) | (1L << (TAKE - 267)) | (1L << (OWNERSHIP - 267)) | (1L << (DEFINITION - 267)) | (1L << (APPLICATION - 267)) | (1L << (ASSEMBLY - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (SYMMETRIC - 331)) | (1L << (ASYMMETRIC - 331)) | (1L << (SERVER - 331)) | (1L << (RECEIVE - 331)) | (1L << (CHANGE - 331)) | (1L << (TRACE - 331)) | (1L << (TRACKING - 331)) | (1L << (RESOURCES - 331)) | (1L << (SETTINGS - 331)) | (1L << (STATE - 331)) | (1L << (AVAILABILITY - 331)) | (1L << (CREDENTIAL - 331)) | (1L << (ENDPOINT - 331)) | (1L << (EVENT - 331)) | (1L << (NOTIFICATION - 331)) | (1L << (LINKED - 331)) | (1L << (AUDIT - 331)) | (1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)) | (1L << (KILL - 331)) | (1L << (BACKUP - 331)) | (1L << (LOG - 331)) | (1L << (SHOWPLAN - 331)) | (1L << (SUBSCRIBE - 331)) | (1L << (QUERY - 331)) | (1L << (NOTIFICATIONS - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (CHECKPOINT - 395)) | (1L << (SEQUENCE - 395)) | (1L << (ABORT_AFTER_WAIT - 395)) | (1L << (ALLOW_PAGE_LOCKS - 395)) | (1L << (ALLOW_ROW_LOCKS - 395)) | (1L << (ALL_SPARSE_COLUMNS - 395)) | (1L << (BUCKET_COUNT - 395)) | (1L << (COLUMNSTORE_ARCHIVE - 395)) | (1L << (COLUMN_ENCRYPTION_KEY - 395)) | (1L << (COLUMN_SET - 395)) | (1L << (COMPRESSION_DELAY - 395)) | (1L << (DATABASE_DEAULT - 395)) | (1L << (DATA_COMPRESSION - 395)) | (1L << (DATA_CONSISTENCY_CHECK - 395)) | (1L << (ENCRYPTION_TYPE - 395)) | (1L << (SYSTEM_TIME - 395)) | (1L << (SYSTEM_VERSIONING - 395)) | (1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)) | (1L << (OUTPUT - 395)))) != 0) || ((((_la - 459)) & ~0x3f) == 0 && ((1L << (_la - 459)) & ((1L << (INSERTED - 459)) | (1L << (DELETED - 459)) | (1L << (FILENAME - 459)) | (1L << (SIZE - 459)) | (1L << (MAXSIZE - 459)) | (1L << (FILEGROWTH - 459)) | (1L << (UNLIMITED - 459)) | (1L << (KB - 459)) | (1L << (MB - 459)) | (1L << (GB - 459)) | (1L << (TB - 459)) | (1L << (CONTAINS - 459)) | (1L << (MEMORY_OPTIMIZED_DATA - 459)) | (1L << (FILEGROUP - 459)) | (1L << (NON_TRANSACTED_ACCESS - 459)) | (1L << (DB_CHAINING - 459)) | (1L << (TRUSTWORTHY - 459)) | (1L << (FORWARD_ONLY - 459)) | (1L << (KEYSET - 459)) | (1L << (FAST_FORWARD - 459)) | (1L << (SCROLL_LOCKS - 459)) | (1L << (OPTIMISTIC - 459)) | (1L << (TYPE_WARNING - 459)) | (1L << (SCHEMABINDING - 459)) | (1L << (CALLER - 459)))) != 0) || ((((_la - 527)) & ~0x3f) == 0 && ((1L << (_la - 527)) & ((1L << (OWNER - 527)) | (1L << (SNAPSHOT - 527)) | (1L << (REPEATABLE - 527)) | (1L << (SERIALIZABLE - 527)) | (1L << (NATIVE_COMPILATION - 527)) | (1L << (VIEW_METADATA - 527)) | (1L << (INSTEAD - 527)) | (1L << (APPEND - 527)) | (1L << (INCREMENT - 527)) | (1L << (CACHE - 527)) | (1L << (MINVALUE - 527)) | (1L << (MAXVALUE - 527)) | (1L << (RESTART - 527)) | (1L << (LOB_COMPACTION - 527)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 527)) | (1L << (REORGANIZE - 527)) | (1L << (RESUME - 527)) | (1L << (PAUSE - 527)) | (1L << (ABORT - 527)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 527)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 527)) | (1L << (IMMEDIATE - 527)) | (1L << (NO_WAIT - 527)) | (1L << (TARGET_RECOVERY_TIME - 527)) | (1L << (SECONDS - 527)) | (1L << (HONOR_BROKER_PRIORITY - 527)) | (1L << (ERROR_BROKER_CONVERSATIONS - 527)) | (1L << (NEW_BROKER - 527)) | (1L << (DISABLE_BROKER - 527)) | (1L << (ENABLE_BROKER - 527)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 527)) | (1L << (READ_COMMITTED_SNAPSHOT - 527)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 527)) | (1L << (RECURSIVE_TRIGGERS - 527)) | (1L << (QUOTED_IDENTIFIER - 527)) | (1L << (NUMERIC_ROUNDABORT - 527)) | (1L << (CONCAT_NULL_YIELDS_NULL - 527)) | (1L << (COMPATIBILITY_LEVEL - 527)) | (1L << (ARITHABORT - 527)) | (1L << (ANSI_WARNINGS - 527)) | (1L << (ANSI_PADDING - 527)) | (1L << (ANSI_NULLS - 527)) | (1L << (ANSI_NULL_DEFAULT - 527)) | (1L << (PAGE_VERIFY - 527)) | (1L << (CHECKSUM - 527)) | (1L << (TORN_PAGE_DETECTION - 527)) | (1L << (BULK_LOGGED - 527)))) != 0) || ((((_la - 591)) & ~0x3f) == 0 && ((1L << (_la - 591)) & ((1L << (RECOVERY - 591)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 591)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 591)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 591)) | (1L << (EXECUTION_COUNT - 591)) | (1L << (QUERY_CAPTURE_POLICY - 591)) | (1L << (WAIT_STATS_CAPTURE_MODE - 591)) | (1L << (MAX_PLANS_PER_QUERY - 591)) | (1L << (QUERY_CAPTURE_MODE - 591)) | (1L << (SIZE_BASED_CLEANUP_MODE - 591)) | (1L << (INTERVAL_LENGTH_MINUTES - 591)) | (1L << (MAX_STORAGE_SIZE_MB - 591)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 591)) | (1L << (CLEANUP_POLICY - 591)) | (1L << (CUSTOM - 591)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 591)) | (1L << (OPERATION_MODE - 591)) | (1L << (QUERY_STORE - 591)) | (1L << (CURSOR_DEFAULT - 591)) | (1L << (GLOBAL - 591)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 591)) | (1L << (HOURS - 591)) | (1L << (CHANGE_RETENTION - 591)) | (1L << (AUTO_CLEANUP - 591)) | (1L << (CHANGE_TRACKING - 591)) | (1L << (AUTOMATIC_TUNING - 591)) | (1L << (FORCE_LAST_GOOD_PLAN - 591)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 591)) | (1L << (AUTO_UPDATE_STATISTICS - 591)) | (1L << (AUTO_SHRINK - 591)) | (1L << (AUTO_CREATE_STATISTICS - 591)) | (1L << (INCREMENTAL - 591)) | (1L << (AUTO_CLOSE - 591)) | (1L << (DATA_RETENTION - 591)) | (1L << (TEMPORAL_HISTORY_RETENTION - 591)) | (1L << (EDITION - 591)) | (1L << (MIXED_PAGE_ALLOCATION - 591)) | (1L << (DISABLED - 591)) | (1L << (ALLOWED - 591)) | (1L << (HADR - 591)) | (1L << (MULTI_USER - 591)) | (1L << (RESTRICTED_USER - 591)) | (1L << (SINGLE_USER - 591)) | (1L << (OFFLINE - 591)) | (1L << (EMERGENCY - 591)) | (1L << (SUSPEND - 591)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 591)) | (1L << (ELASTIC_POOL - 591)) | (1L << (SERVICE_OBJECTIVE - 591)) | (1L << (DATABASE_NAME - 591)) | (1L << (ALLOW_CONNECTIONS - 591)) | (1L << (GEO - 591)) | (1L << (NAMED - 591)) | (1L << (DATEFIRST - 591)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 591)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 591)) | (1L << (SECONDARY - 591)) | (1L << (FAILOVER - 591)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 591)) | (1L << (DEFAULT_LANGUAGE - 591)) | (1L << (INLINE - 591)) | (1L << (NESTED_TRIGGERS - 591)) | (1L << (TRANSFORM_NOISE_WORDS - 591)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 591)))) != 0) || ((((_la - 655)) & ~0x3f) == 0 && ((1L << (_la - 655)) & ((1L << (PERSISTENT_LOG_BUFFER - 655)) | (1L << (DIRECTORY_NAME - 655)) | (1L << (DATEFORMAT - 655)) | (1L << (DELAYED_DURABILITY - 655)) | (1L << (AUTHORIZATION - 655)) | (1L << (TRANSFER - 655)) | (1L << (PROVIDER - 655)) | (1L << (SEARCH - 655)) | (1L << (MEMBER - 655)) | (1L << (IDENTIFIER_ - 655)) | (1L << (DELIMITED_IDENTIFIER_ - 655)))) != 0)) {
14634 {
14635 setState(2291);
14636 _errHandler.sync(this);
14637 _la = _input.LA(1);
14638 if (_la==LP_) {
14639 {
14640 setState(2290);
14641 match(LP_);
14642 }
14643 }
14644
14645 setState(2293);
14646 indexName();
14647 setState(2298);
14648 _errHandler.sync(this);
14649 _la = _input.LA(1);
14650 while (_la==COMMA_) {
14651 {
14652 {
14653 setState(2294);
14654 match(COMMA_);
14655 setState(2295);
14656 indexName();
14657 }
14658 }
14659 setState(2300);
14660 _errHandler.sync(this);
14661 _la = _input.LA(1);
14662 }
14663 setState(2302);
14664 _errHandler.sync(this);
14665 _la = _input.LA(1);
14666 if (_la==RP_) {
14667 {
14668 setState(2301);
14669 match(RP_);
14670 }
14671 }
14672
14673 }
14674 }
14675
14676 setState(2307);
14677 _errHandler.sync(this);
14678 _la = _input.LA(1);
14679 if (_la==WITH) {
14680 {
14681 setState(2306);
14682 statisticsWithClause();
14683 }
14684 }
14685
14686 }
14687 }
14688 catch (RecognitionException re) {
14689 _localctx.exception = re;
14690 _errHandler.reportError(this, re);
14691 _errHandler.recover(this, re);
14692 }
14693 finally {
14694 exitRule();
14695 }
14696 return _localctx;
14697 }
14698
14699 public static class StatisticsWithClauseContext extends ParserRuleContext {
14700 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
14701 public SampleOptionContext sampleOption() {
14702 return getRuleContext(SampleOptionContext.class,0);
14703 }
14704 public StatisticsOptionsContext statisticsOptions() {
14705 return getRuleContext(StatisticsOptionsContext.class,0);
14706 }
14707 public StatisticsWithClauseContext(ParserRuleContext parent, int invokingState) {
14708 super(parent, invokingState);
14709 }
14710 @Override public int getRuleIndex() { return RULE_statisticsWithClause; }
14711 @Override
14712 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14713 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsWithClause(this);
14714 else return visitor.visitChildren(this);
14715 }
14716 }
14717
14718 public final StatisticsWithClauseContext statisticsWithClause() throws RecognitionException {
14719 StatisticsWithClauseContext _localctx = new StatisticsWithClauseContext(_ctx, getState());
14720 enterRule(_localctx, 308, RULE_statisticsWithClause);
14721 int _la;
14722 try {
14723 enterOuterAlt(_localctx, 1);
14724 {
14725 setState(2309);
14726 match(WITH);
14727 setState(2311);
14728 _errHandler.sync(this);
14729 _la = _input.LA(1);
14730 if (((((_la - 704)) & ~0x3f) == 0 && ((1L << (_la - 704)) & ((1L << (FULLSCAN - 704)) | (1L << (SAMPLE - 704)) | (1L << (RESAMPLE - 704)))) != 0)) {
14731 {
14732 setState(2310);
14733 sampleOption();
14734 }
14735 }
14736
14737 setState(2314);
14738 _errHandler.sync(this);
14739 _la = _input.LA(1);
14740 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMA_) | (1L << COLUMNS) | (1L << INDEX))) != 0) || _la==ALL || _la==MAXDOP || _la==INCREMENTAL || _la==NORECOMPUTE || _la==AUTO_DROP) {
14741 {
14742 setState(2313);
14743 statisticsOptions();
14744 }
14745 }
14746
14747 }
14748 }
14749 catch (RecognitionException re) {
14750 _localctx.exception = re;
14751 _errHandler.reportError(this, re);
14752 _errHandler.recover(this, re);
14753 }
14754 finally {
14755 exitRule();
14756 }
14757 return _localctx;
14758 }
14759
14760 public static class SampleOptionContext extends ParserRuleContext {
14761 public TerminalNode FULLSCAN() { return getToken(SQLServerStatementParser.FULLSCAN, 0); }
14762 public TerminalNode PERSIST_SAMPLE_PERCENT() { return getToken(SQLServerStatementParser.PERSIST_SAMPLE_PERCENT, 0); }
14763 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
14764 public TerminalNode SAMPLE() { return getToken(SQLServerStatementParser.SAMPLE, 0); }
14765 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
14766 public TerminalNode NUMBER_(int i) {
14767 return getToken(SQLServerStatementParser.NUMBER_, i);
14768 }
14769 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14770 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
14771 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
14772 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
14773 public TerminalNode RESAMPLE() { return getToken(SQLServerStatementParser.RESAMPLE, 0); }
14774 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
14775 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14776 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14777 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14778 public TerminalNode COMMA_(int i) {
14779 return getToken(SQLServerStatementParser.COMMA_, i);
14780 }
14781 public SampleOptionContext(ParserRuleContext parent, int invokingState) {
14782 super(parent, invokingState);
14783 }
14784 @Override public int getRuleIndex() { return RULE_sampleOption; }
14785 @Override
14786 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14787 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSampleOption(this);
14788 else return visitor.visitChildren(this);
14789 }
14790 }
14791
14792 public final SampleOptionContext sampleOption() throws RecognitionException {
14793 SampleOptionContext _localctx = new SampleOptionContext(_ctx, getState());
14794 enterRule(_localctx, 310, RULE_sampleOption);
14795 int _la;
14796 try {
14797 setState(2342);
14798 _errHandler.sync(this);
14799 switch (_input.LA(1)) {
14800 case FULLSCAN:
14801 case SAMPLE:
14802 enterOuterAlt(_localctx, 1);
14803 {
14804 setState(2320);
14805 _errHandler.sync(this);
14806 switch (_input.LA(1)) {
14807 case FULLSCAN:
14808 {
14809 setState(2316);
14810 match(FULLSCAN);
14811 }
14812 break;
14813 case SAMPLE:
14814 {
14815 {
14816 setState(2317);
14817 match(SAMPLE);
14818 setState(2318);
14819 match(NUMBER_);
14820 setState(2319);
14821 _la = _input.LA(1);
14822 if ( !(_la==PERCENT || _la==ROWS) ) {
14823 _errHandler.recoverInline(this);
14824 }
14825 else {
14826 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14827 _errHandler.reportMatch(this);
14828 consume();
14829 }
14830 }
14831 }
14832 break;
14833 default:
14834 throw new NoViableAltException(this);
14835 }
14836 setState(2325);
14837 _errHandler.sync(this);
14838 _la = _input.LA(1);
14839 if (_la==PERSIST_SAMPLE_PERCENT) {
14840 {
14841 setState(2322);
14842 match(PERSIST_SAMPLE_PERCENT);
14843 setState(2323);
14844 match(EQ_);
14845 setState(2324);
14846 _la = _input.LA(1);
14847 if ( !(_la==ON || _la==OFF) ) {
14848 _errHandler.recoverInline(this);
14849 }
14850 else {
14851 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14852 _errHandler.reportMatch(this);
14853 consume();
14854 }
14855 }
14856 }
14857
14858 }
14859 break;
14860 case RESAMPLE:
14861 enterOuterAlt(_localctx, 2);
14862 {
14863 setState(2327);
14864 match(RESAMPLE);
14865 setState(2340);
14866 _errHandler.sync(this);
14867 _la = _input.LA(1);
14868 if (_la==ON) {
14869 {
14870 setState(2328);
14871 match(ON);
14872 setState(2329);
14873 match(PARTITIONS);
14874 setState(2330);
14875 match(LP_);
14876 setState(2331);
14877 match(NUMBER_);
14878 setState(2336);
14879 _errHandler.sync(this);
14880 _la = _input.LA(1);
14881 while (_la==COMMA_) {
14882 {
14883 {
14884 setState(2332);
14885 match(COMMA_);
14886 setState(2333);
14887 match(NUMBER_);
14888 }
14889 }
14890 setState(2338);
14891 _errHandler.sync(this);
14892 _la = _input.LA(1);
14893 }
14894 setState(2339);
14895 match(RP_);
14896 }
14897 }
14898
14899 }
14900 break;
14901 default:
14902 throw new NoViableAltException(this);
14903 }
14904 }
14905 catch (RecognitionException re) {
14906 _localctx.exception = re;
14907 _errHandler.reportError(this, re);
14908 _errHandler.recover(this, re);
14909 }
14910 finally {
14911 exitRule();
14912 }
14913 return _localctx;
14914 }
14915
14916 public static class StatisticsOptionsContext extends ParserRuleContext {
14917 public List<StatisticsOptionContext> statisticsOption() {
14918 return getRuleContexts(StatisticsOptionContext.class);
14919 }
14920 public StatisticsOptionContext statisticsOption(int i) {
14921 return getRuleContext(StatisticsOptionContext.class,i);
14922 }
14923 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14924 public TerminalNode COMMA_(int i) {
14925 return getToken(SQLServerStatementParser.COMMA_, i);
14926 }
14927 public StatisticsOptionsContext(ParserRuleContext parent, int invokingState) {
14928 super(parent, invokingState);
14929 }
14930 @Override public int getRuleIndex() { return RULE_statisticsOptions; }
14931 @Override
14932 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14933 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsOptions(this);
14934 else return visitor.visitChildren(this);
14935 }
14936 }
14937
14938 public final StatisticsOptionsContext statisticsOptions() throws RecognitionException {
14939 StatisticsOptionsContext _localctx = new StatisticsOptionsContext(_ctx, getState());
14940 enterRule(_localctx, 312, RULE_statisticsOptions);
14941 int _la;
14942 try {
14943 enterOuterAlt(_localctx, 1);
14944 {
14945 setState(2348);
14946 _errHandler.sync(this);
14947 _la = _input.LA(1);
14948 do {
14949 {
14950 {
14951 setState(2345);
14952 _errHandler.sync(this);
14953 _la = _input.LA(1);
14954 if (_la==COMMA_) {
14955 {
14956 setState(2344);
14957 match(COMMA_);
14958 }
14959 }
14960
14961 setState(2347);
14962 statisticsOption();
14963 }
14964 }
14965 setState(2350);
14966 _errHandler.sync(this);
14967 _la = _input.LA(1);
14968 } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMA_) | (1L << COLUMNS) | (1L << INDEX))) != 0) || _la==ALL || _la==MAXDOP || _la==INCREMENTAL || _la==NORECOMPUTE || _la==AUTO_DROP );
14969 }
14970 }
14971 catch (RecognitionException re) {
14972 _localctx.exception = re;
14973 _errHandler.reportError(this, re);
14974 _errHandler.recover(this, re);
14975 }
14976 finally {
14977 exitRule();
14978 }
14979 return _localctx;
14980 }
14981
14982 public static class StatisticsOptionContext extends ParserRuleContext {
14983 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
14984 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
14985 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
14986 public TerminalNode NORECOMPUTE() { return getToken(SQLServerStatementParser.NORECOMPUTE, 0); }
14987 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
14988 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
14989 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14990 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
14991 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
14992 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
14993 public TerminalNode AUTO_DROP() { return getToken(SQLServerStatementParser.AUTO_DROP, 0); }
14994 public StatisticsOptionContext(ParserRuleContext parent, int invokingState) {
14995 super(parent, invokingState);
14996 }
14997 @Override public int getRuleIndex() { return RULE_statisticsOption; }
14998 @Override
14999 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15000 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsOption(this);
15001 else return visitor.visitChildren(this);
15002 }
15003 }
15004
15005 public final StatisticsOptionContext statisticsOption() throws RecognitionException {
15006 StatisticsOptionContext _localctx = new StatisticsOptionContext(_ctx, getState());
15007 enterRule(_localctx, 314, RULE_statisticsOption);
15008 int _la;
15009 try {
15010 setState(2365);
15011 _errHandler.sync(this);
15012 switch (_input.LA(1)) {
15013 case ALL:
15014 enterOuterAlt(_localctx, 1);
15015 {
15016 setState(2352);
15017 match(ALL);
15018 }
15019 break;
15020 case COLUMNS:
15021 enterOuterAlt(_localctx, 2);
15022 {
15023 setState(2353);
15024 match(COLUMNS);
15025 }
15026 break;
15027 case INDEX:
15028 enterOuterAlt(_localctx, 3);
15029 {
15030 setState(2354);
15031 match(INDEX);
15032 }
15033 break;
15034 case NORECOMPUTE:
15035 enterOuterAlt(_localctx, 4);
15036 {
15037 setState(2355);
15038 match(NORECOMPUTE);
15039 }
15040 break;
15041 case INCREMENTAL:
15042 enterOuterAlt(_localctx, 5);
15043 {
15044 setState(2356);
15045 match(INCREMENTAL);
15046 setState(2357);
15047 match(EQ_);
15048 setState(2358);
15049 _la = _input.LA(1);
15050 if ( !(_la==ON || _la==OFF) ) {
15051 _errHandler.recoverInline(this);
15052 }
15053 else {
15054 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15055 _errHandler.reportMatch(this);
15056 consume();
15057 }
15058 }
15059 break;
15060 case MAXDOP:
15061 enterOuterAlt(_localctx, 6);
15062 {
15063 setState(2359);
15064 match(MAXDOP);
15065 setState(2360);
15066 match(EQ_);
15067 setState(2361);
15068 match(NUMBER_);
15069 }
15070 break;
15071 case AUTO_DROP:
15072 enterOuterAlt(_localctx, 7);
15073 {
15074 setState(2362);
15075 match(AUTO_DROP);
15076 setState(2363);
15077 match(EQ_);
15078 setState(2364);
15079 _la = _input.LA(1);
15080 if ( !(_la==ON || _la==OFF) ) {
15081 _errHandler.recoverInline(this);
15082 }
15083 else {
15084 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15085 _errHandler.reportMatch(this);
15086 consume();
15087 }
15088 }
15089 break;
15090 default:
15091 throw new NoViableAltException(this);
15092 }
15093 }
15094 catch (RecognitionException re) {
15095 _localctx.exception = re;
15096 _errHandler.reportError(this, re);
15097 _errHandler.recover(this, re);
15098 }
15099 finally {
15100 exitRule();
15101 }
15102 return _localctx;
15103 }
15104
15105 public static class FileTableClauseContext extends ParserRuleContext {
15106 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
15107 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
15108 public FileTableClauseContext(ParserRuleContext parent, int invokingState) {
15109 super(parent, invokingState);
15110 }
15111 @Override public int getRuleIndex() { return RULE_fileTableClause; }
15112 @Override
15113 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15114 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileTableClause(this);
15115 else return visitor.visitChildren(this);
15116 }
15117 }
15118
15119 public final FileTableClauseContext fileTableClause() throws RecognitionException {
15120 FileTableClauseContext _localctx = new FileTableClauseContext(_ctx, getState());
15121 enterRule(_localctx, 316, RULE_fileTableClause);
15122 int _la;
15123 try {
15124 enterOuterAlt(_localctx, 1);
15125 {
15126 setState(2369);
15127 _errHandler.sync(this);
15128 _la = _input.LA(1);
15129 if (_la==AS) {
15130 {
15131 setState(2367);
15132 match(AS);
15133 setState(2368);
15134 match(FILETABLE);
15135 }
15136 }
15137
15138 }
15139 }
15140 catch (RecognitionException re) {
15141 _localctx.exception = re;
15142 _errHandler.reportError(this, re);
15143 _errHandler.recover(this, re);
15144 }
15145 finally {
15146 exitRule();
15147 }
15148 return _localctx;
15149 }
15150
15151 public static class CreateDefinitionClauseContext extends ParserRuleContext {
15152 public CreateTableDefinitionsContext createTableDefinitions() {
15153 return getRuleContext(CreateTableDefinitionsContext.class,0);
15154 }
15155 public PartitionSchemeContext partitionScheme() {
15156 return getRuleContext(PartitionSchemeContext.class,0);
15157 }
15158 public FileGroupContext fileGroup() {
15159 return getRuleContext(FileGroupContext.class,0);
15160 }
15161 public CreateDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
15162 super(parent, invokingState);
15163 }
15164 @Override public int getRuleIndex() { return RULE_createDefinitionClause; }
15165 @Override
15166 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15167 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDefinitionClause(this);
15168 else return visitor.visitChildren(this);
15169 }
15170 }
15171
15172 public final CreateDefinitionClauseContext createDefinitionClause() throws RecognitionException {
15173 CreateDefinitionClauseContext _localctx = new CreateDefinitionClauseContext(_ctx, getState());
15174 enterRule(_localctx, 318, RULE_createDefinitionClause);
15175 try {
15176 enterOuterAlt(_localctx, 1);
15177 {
15178 setState(2371);
15179 createTableDefinitions();
15180 setState(2372);
15181 partitionScheme();
15182 setState(2373);
15183 fileGroup();
15184 }
15185 }
15186 catch (RecognitionException re) {
15187 _localctx.exception = re;
15188 _errHandler.reportError(this, re);
15189 _errHandler.recover(this, re);
15190 }
15191 finally {
15192 exitRule();
15193 }
15194 return _localctx;
15195 }
15196
15197 public static class CreateTableDefinitionsContext extends ParserRuleContext {
15198 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15199 public List<CreateTableDefinitionContext> createTableDefinition() {
15200 return getRuleContexts(CreateTableDefinitionContext.class);
15201 }
15202 public CreateTableDefinitionContext createTableDefinition(int i) {
15203 return getRuleContext(CreateTableDefinitionContext.class,i);
15204 }
15205 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15206 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15207 public TerminalNode COMMA_(int i) {
15208 return getToken(SQLServerStatementParser.COMMA_, i);
15209 }
15210 public PeriodClauseContext periodClause() {
15211 return getRuleContext(PeriodClauseContext.class,0);
15212 }
15213 public CreateTableDefinitionsContext(ParserRuleContext parent, int invokingState) {
15214 super(parent, invokingState);
15215 }
15216 @Override public int getRuleIndex() { return RULE_createTableDefinitions; }
15217 @Override
15218 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15219 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinitions(this);
15220 else return visitor.visitChildren(this);
15221 }
15222 }
15223
15224 public final CreateTableDefinitionsContext createTableDefinitions() throws RecognitionException {
15225 CreateTableDefinitionsContext _localctx = new CreateTableDefinitionsContext(_ctx, getState());
15226 enterRule(_localctx, 320, RULE_createTableDefinitions);
15227 int _la;
15228 try {
15229 int _alt;
15230 enterOuterAlt(_localctx, 1);
15231 {
15232 setState(2375);
15233 match(LP_);
15234 setState(2376);
15235 createTableDefinition();
15236 setState(2381);
15237 _errHandler.sync(this);
15238 _alt = getInterpreter().adaptivePredict(_input,170,_ctx);
15239 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
15240 if ( _alt==1 ) {
15241 {
15242 {
15243 setState(2377);
15244 match(COMMA_);
15245 setState(2378);
15246 createTableDefinition();
15247 }
15248 }
15249 }
15250 setState(2383);
15251 _errHandler.sync(this);
15252 _alt = getInterpreter().adaptivePredict(_input,170,_ctx);
15253 }
15254 setState(2386);
15255 _errHandler.sync(this);
15256 _la = _input.LA(1);
15257 if (_la==COMMA_) {
15258 {
15259 setState(2384);
15260 match(COMMA_);
15261 setState(2385);
15262 periodClause();
15263 }
15264 }
15265
15266 setState(2388);
15267 match(RP_);
15268 }
15269 }
15270 catch (RecognitionException re) {
15271 _localctx.exception = re;
15272 _errHandler.reportError(this, re);
15273 _errHandler.recover(this, re);
15274 }
15275 finally {
15276 exitRule();
15277 }
15278 return _localctx;
15279 }
15280
15281 public static class CreateTableDefinitionContext extends ParserRuleContext {
15282 public ColumnDefinitionContext columnDefinition() {
15283 return getRuleContext(ColumnDefinitionContext.class,0);
15284 }
15285 public ComputedColumnDefinitionContext computedColumnDefinition() {
15286 return getRuleContext(ComputedColumnDefinitionContext.class,0);
15287 }
15288 public ColumnSetDefinitionContext columnSetDefinition() {
15289 return getRuleContext(ColumnSetDefinitionContext.class,0);
15290 }
15291 public TableConstraintContext tableConstraint() {
15292 return getRuleContext(TableConstraintContext.class,0);
15293 }
15294 public TableIndexContext tableIndex() {
15295 return getRuleContext(TableIndexContext.class,0);
15296 }
15297 public CreateTableDefinitionContext(ParserRuleContext parent, int invokingState) {
15298 super(parent, invokingState);
15299 }
15300 @Override public int getRuleIndex() { return RULE_createTableDefinition; }
15301 @Override
15302 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15303 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinition(this);
15304 else return visitor.visitChildren(this);
15305 }
15306 }
15307
15308 public final CreateTableDefinitionContext createTableDefinition() throws RecognitionException {
15309 CreateTableDefinitionContext _localctx = new CreateTableDefinitionContext(_ctx, getState());
15310 enterRule(_localctx, 322, RULE_createTableDefinition);
15311 try {
15312 setState(2395);
15313 _errHandler.sync(this);
15314 switch ( getInterpreter().adaptivePredict(_input,172,_ctx) ) {
15315 case 1:
15316 enterOuterAlt(_localctx, 1);
15317 {
15318 setState(2390);
15319 columnDefinition();
15320 }
15321 break;
15322 case 2:
15323 enterOuterAlt(_localctx, 2);
15324 {
15325 setState(2391);
15326 computedColumnDefinition();
15327 }
15328 break;
15329 case 3:
15330 enterOuterAlt(_localctx, 3);
15331 {
15332 setState(2392);
15333 columnSetDefinition();
15334 }
15335 break;
15336 case 4:
15337 enterOuterAlt(_localctx, 4);
15338 {
15339 setState(2393);
15340 tableConstraint();
15341 }
15342 break;
15343 case 5:
15344 enterOuterAlt(_localctx, 5);
15345 {
15346 setState(2394);
15347 tableIndex();
15348 }
15349 break;
15350 }
15351 }
15352 catch (RecognitionException re) {
15353 _localctx.exception = re;
15354 _errHandler.reportError(this, re);
15355 _errHandler.recover(this, re);
15356 }
15357 finally {
15358 exitRule();
15359 }
15360 return _localctx;
15361 }
15362
15363 public static class ColumnDefinitionContext extends ParserRuleContext {
15364 public ColumnNameContext columnName() {
15365 return getRuleContext(ColumnNameContext.class,0);
15366 }
15367 public DataTypeContext dataType() {
15368 return getRuleContext(DataTypeContext.class,0);
15369 }
15370 public ColumnConstraintsContext columnConstraints() {
15371 return getRuleContext(ColumnConstraintsContext.class,0);
15372 }
15373 public List<ColumnDefinitionOptionContext> columnDefinitionOption() {
15374 return getRuleContexts(ColumnDefinitionOptionContext.class);
15375 }
15376 public ColumnDefinitionOptionContext columnDefinitionOption(int i) {
15377 return getRuleContext(ColumnDefinitionOptionContext.class,i);
15378 }
15379 public ColumnIndexContext columnIndex() {
15380 return getRuleContext(ColumnIndexContext.class,0);
15381 }
15382 public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
15383 super(parent, invokingState);
15384 }
15385 @Override public int getRuleIndex() { return RULE_columnDefinition; }
15386 @Override
15387 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15388 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinition(this);
15389 else return visitor.visitChildren(this);
15390 }
15391 }
15392
15393 public final ColumnDefinitionContext columnDefinition() throws RecognitionException {
15394 ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState());
15395 enterRule(_localctx, 324, RULE_columnDefinition);
15396 int _la;
15397 try {
15398 int _alt;
15399 enterOuterAlt(_localctx, 1);
15400 {
15401 setState(2397);
15402 columnName();
15403 setState(2398);
15404 dataType();
15405 setState(2402);
15406 _errHandler.sync(this);
15407 _alt = getInterpreter().adaptivePredict(_input,173,_ctx);
15408 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
15409 if ( _alt==1 ) {
15410 {
15411 {
15412 setState(2399);
15413 columnDefinitionOption();
15414 }
15415 }
15416 }
15417 setState(2404);
15418 _errHandler.sync(this);
15419 _alt = getInterpreter().adaptivePredict(_input,173,_ctx);
15420 }
15421 setState(2405);
15422 columnConstraints();
15423 setState(2407);
15424 _errHandler.sync(this);
15425 _la = _input.LA(1);
15426 if (_la==INDEX) {
15427 {
15428 setState(2406);
15429 columnIndex();
15430 }
15431 }
15432
15433 }
15434 }
15435 catch (RecognitionException re) {
15436 _localctx.exception = re;
15437 _errHandler.reportError(this, re);
15438 _errHandler.recover(this, re);
15439 }
15440 finally {
15441 exitRule();
15442 }
15443 return _localctx;
15444 }
15445
15446 public static class ColumnDefinitionOptionContext extends ParserRuleContext {
15447 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
15448 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
15449 public CollationNameContext collationName() {
15450 return getRuleContext(CollationNameContext.class,0);
15451 }
15452 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
15453 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
15454 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
15455 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15456 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
15457 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
15458 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
15459 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15460 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
15461 public ExprContext expr() {
15462 return getRuleContext(ExprContext.class,0);
15463 }
15464 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
15465 public IgnoredIdentifierContext ignoredIdentifier() {
15466 return getRuleContext(IgnoredIdentifierContext.class,0);
15467 }
15468 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
15469 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
15470 public TerminalNode NUMBER_(int i) {
15471 return getToken(SQLServerStatementParser.NUMBER_, i);
15472 }
15473 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15474 public TerminalNode COMMA_(int i) {
15475 return getToken(SQLServerStatementParser.COMMA_, i);
15476 }
15477 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
15478 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
15479 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
15480 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
15481 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
15482 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
15483 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
15484 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
15485 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
15486 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
15487 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
15488 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
15489 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
15490 public EncryptedOptionsContext encryptedOptions() {
15491 return getRuleContext(EncryptedOptionsContext.class,0);
15492 }
15493 public List<ColumnConstraintContext> columnConstraint() {
15494 return getRuleContexts(ColumnConstraintContext.class);
15495 }
15496 public ColumnConstraintContext columnConstraint(int i) {
15497 return getRuleContext(ColumnConstraintContext.class,i);
15498 }
15499 public ColumnIndexContext columnIndex() {
15500 return getRuleContext(ColumnIndexContext.class,0);
15501 }
15502 public ColumnDefinitionOptionContext(ParserRuleContext parent, int invokingState) {
15503 super(parent, invokingState);
15504 }
15505 @Override public int getRuleIndex() { return RULE_columnDefinitionOption; }
15506 @Override
15507 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15508 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinitionOption(this);
15509 else return visitor.visitChildren(this);
15510 }
15511 }
15512
15513 public final ColumnDefinitionOptionContext columnDefinitionOption() throws RecognitionException {
15514 ColumnDefinitionOptionContext _localctx = new ColumnDefinitionOptionContext(_ctx, getState());
15515 enterRule(_localctx, 326, RULE_columnDefinitionOption);
15516 int _la;
15517 try {
15518 int _alt;
15519 setState(2462);
15520 _errHandler.sync(this);
15521 switch ( getInterpreter().adaptivePredict(_input,180,_ctx) ) {
15522 case 1:
15523 enterOuterAlt(_localctx, 1);
15524 {
15525 setState(2409);
15526 match(FILESTREAM);
15527 }
15528 break;
15529 case 2:
15530 enterOuterAlt(_localctx, 2);
15531 {
15532 setState(2410);
15533 match(COLLATE);
15534 setState(2411);
15535 collationName();
15536 }
15537 break;
15538 case 3:
15539 enterOuterAlt(_localctx, 3);
15540 {
15541 setState(2412);
15542 match(SPARSE);
15543 }
15544 break;
15545 case 4:
15546 enterOuterAlt(_localctx, 4);
15547 {
15548 setState(2413);
15549 match(MASKED);
15550 setState(2414);
15551 match(WITH);
15552 setState(2415);
15553 match(LP_);
15554 setState(2416);
15555 match(FUNCTION);
15556 setState(2417);
15557 match(EQ_);
15558 setState(2418);
15559 match(STRING_);
15560 setState(2419);
15561 match(RP_);
15562 }
15563 break;
15564 case 5:
15565 enterOuterAlt(_localctx, 5);
15566 {
15567 setState(2422);
15568 _errHandler.sync(this);
15569 _la = _input.LA(1);
15570 if (_la==CONSTRAINT) {
15571 {
15572 setState(2420);
15573 match(CONSTRAINT);
15574 setState(2421);
15575 ignoredIdentifier();
15576 }
15577 }
15578
15579 setState(2424);
15580 match(DEFAULT);
15581 setState(2425);
15582 expr(0);
15583 }
15584 break;
15585 case 6:
15586 enterOuterAlt(_localctx, 6);
15587 {
15588 setState(2426);
15589 match(IDENTITY);
15590 setState(2432);
15591 _errHandler.sync(this);
15592 _la = _input.LA(1);
15593 if (_la==LP_) {
15594 {
15595 setState(2427);
15596 match(LP_);
15597 setState(2428);
15598 match(NUMBER_);
15599 setState(2429);
15600 match(COMMA_);
15601 setState(2430);
15602 match(NUMBER_);
15603 setState(2431);
15604 match(RP_);
15605 }
15606 }
15607
15608 }
15609 break;
15610 case 7:
15611 enterOuterAlt(_localctx, 7);
15612 {
15613 setState(2434);
15614 match(NOT);
15615 setState(2435);
15616 match(FOR);
15617 setState(2436);
15618 match(REPLICATION);
15619 }
15620 break;
15621 case 8:
15622 enterOuterAlt(_localctx, 8);
15623 {
15624 setState(2437);
15625 match(GENERATED);
15626 setState(2438);
15627 match(ALWAYS);
15628 setState(2439);
15629 match(AS);
15630 setState(2440);
15631 match(ROW);
15632 setState(2441);
15633 _la = _input.LA(1);
15634 if ( !(_la==START || _la==END) ) {
15635 _errHandler.recoverInline(this);
15636 }
15637 else {
15638 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15639 _errHandler.reportMatch(this);
15640 consume();
15641 }
15642 setState(2443);
15643 _errHandler.sync(this);
15644 _la = _input.LA(1);
15645 if (_la==HIDDEN_) {
15646 {
15647 setState(2442);
15648 match(HIDDEN_);
15649 }
15650 }
15651
15652 }
15653 break;
15654 case 9:
15655 enterOuterAlt(_localctx, 9);
15656 {
15657 setState(2446);
15658 _errHandler.sync(this);
15659 _la = _input.LA(1);
15660 if (_la==NOT) {
15661 {
15662 setState(2445);
15663 match(NOT);
15664 }
15665 }
15666
15667 setState(2448);
15668 match(NULL);
15669 }
15670 break;
15671 case 10:
15672 enterOuterAlt(_localctx, 10);
15673 {
15674 setState(2449);
15675 match(ROWGUIDCOL);
15676 }
15677 break;
15678 case 11:
15679 enterOuterAlt(_localctx, 11);
15680 {
15681 setState(2450);
15682 match(ENCRYPTED);
15683 setState(2451);
15684 match(WITH);
15685 setState(2452);
15686 encryptedOptions();
15687 }
15688 break;
15689 case 12:
15690 enterOuterAlt(_localctx, 12);
15691 {
15692 setState(2453);
15693 columnConstraint();
15694 setState(2458);
15695 _errHandler.sync(this);
15696 _alt = getInterpreter().adaptivePredict(_input,179,_ctx);
15697 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
15698 if ( _alt==1 ) {
15699 {
15700 {
15701 setState(2454);
15702 match(COMMA_);
15703 setState(2455);
15704 columnConstraint();
15705 }
15706 }
15707 }
15708 setState(2460);
15709 _errHandler.sync(this);
15710 _alt = getInterpreter().adaptivePredict(_input,179,_ctx);
15711 }
15712 }
15713 break;
15714 case 13:
15715 enterOuterAlt(_localctx, 13);
15716 {
15717 setState(2461);
15718 columnIndex();
15719 }
15720 break;
15721 }
15722 }
15723 catch (RecognitionException re) {
15724 _localctx.exception = re;
15725 _errHandler.reportError(this, re);
15726 _errHandler.recover(this, re);
15727 }
15728 finally {
15729 exitRule();
15730 }
15731 return _localctx;
15732 }
15733
15734 public static class EncryptedOptionsContext extends ParserRuleContext {
15735 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15736 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
15737 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
15738 public TerminalNode EQ_(int i) {
15739 return getToken(SQLServerStatementParser.EQ_, i);
15740 }
15741 public IgnoredIdentifierContext ignoredIdentifier() {
15742 return getRuleContext(IgnoredIdentifierContext.class,0);
15743 }
15744 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15745 public TerminalNode COMMA_(int i) {
15746 return getToken(SQLServerStatementParser.COMMA_, i);
15747 }
15748 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
15749 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
15750 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
15751 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15752 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
15753 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
15754 public EncryptedOptionsContext(ParserRuleContext parent, int invokingState) {
15755 super(parent, invokingState);
15756 }
15757 @Override public int getRuleIndex() { return RULE_encryptedOptions; }
15758 @Override
15759 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15760 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEncryptedOptions(this);
15761 else return visitor.visitChildren(this);
15762 }
15763 }
15764
15765 public final EncryptedOptionsContext encryptedOptions() throws RecognitionException {
15766 EncryptedOptionsContext _localctx = new EncryptedOptionsContext(_ctx, getState());
15767 enterRule(_localctx, 328, RULE_encryptedOptions);
15768 int _la;
15769 try {
15770 enterOuterAlt(_localctx, 1);
15771 {
15772 setState(2464);
15773 match(LP_);
15774 setState(2465);
15775 match(COLUMN_ENCRYPTION_KEY);
15776 setState(2466);
15777 match(EQ_);
15778 setState(2467);
15779 ignoredIdentifier();
15780 setState(2468);
15781 match(COMMA_);
15782 setState(2469);
15783 match(ENCRYPTION_TYPE);
15784 setState(2470);
15785 match(EQ_);
15786 setState(2471);
15787 _la = _input.LA(1);
15788 if ( !(_la==DETERMINISTIC || _la==RANDOMIZED) ) {
15789 _errHandler.recoverInline(this);
15790 }
15791 else {
15792 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15793 _errHandler.reportMatch(this);
15794 consume();
15795 }
15796 setState(2472);
15797 match(COMMA_);
15798 setState(2473);
15799 match(ALGORITHM);
15800 setState(2474);
15801 match(EQ_);
15802 setState(2475);
15803 match(STRING_);
15804 setState(2476);
15805 match(RP_);
15806 }
15807 }
15808 catch (RecognitionException re) {
15809 _localctx.exception = re;
15810 _errHandler.reportError(this, re);
15811 _errHandler.recover(this, re);
15812 }
15813 finally {
15814 exitRule();
15815 }
15816 return _localctx;
15817 }
15818
15819 public static class ColumnConstraintContext extends ParserRuleContext {
15820 public PrimaryKeyConstraintContext primaryKeyConstraint() {
15821 return getRuleContext(PrimaryKeyConstraintContext.class,0);
15822 }
15823 public ColumnForeignKeyConstraintContext columnForeignKeyConstraint() {
15824 return getRuleContext(ColumnForeignKeyConstraintContext.class,0);
15825 }
15826 public CheckConstraintContext checkConstraint() {
15827 return getRuleContext(CheckConstraintContext.class,0);
15828 }
15829 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
15830 public ConstraintNameContext constraintName() {
15831 return getRuleContext(ConstraintNameContext.class,0);
15832 }
15833 public ColumnConstraintContext(ParserRuleContext parent, int invokingState) {
15834 super(parent, invokingState);
15835 }
15836 @Override public int getRuleIndex() { return RULE_columnConstraint; }
15837 @Override
15838 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15839 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraint(this);
15840 else return visitor.visitChildren(this);
15841 }
15842 }
15843
15844 public final ColumnConstraintContext columnConstraint() throws RecognitionException {
15845 ColumnConstraintContext _localctx = new ColumnConstraintContext(_ctx, getState());
15846 enterRule(_localctx, 330, RULE_columnConstraint);
15847 int _la;
15848 try {
15849 enterOuterAlt(_localctx, 1);
15850 {
15851 setState(2480);
15852 _errHandler.sync(this);
15853 _la = _input.LA(1);
15854 if (_la==CONSTRAINT) {
15855 {
15856 setState(2478);
15857 match(CONSTRAINT);
15858 setState(2479);
15859 constraintName();
15860 }
15861 }
15862
15863 setState(2485);
15864 _errHandler.sync(this);
15865 switch (_input.LA(1)) {
15866 case PRIMARY:
15867 case UNIQUE:
15868 case KEY:
15869 {
15870 setState(2482);
15871 primaryKeyConstraint();
15872 }
15873 break;
15874 case FOREIGN:
15875 case REFERENCES:
15876 {
15877 setState(2483);
15878 columnForeignKeyConstraint();
15879 }
15880 break;
15881 case CHECK:
15882 {
15883 setState(2484);
15884 checkConstraint();
15885 }
15886 break;
15887 default:
15888 throw new NoViableAltException(this);
15889 }
15890 }
15891 }
15892 catch (RecognitionException re) {
15893 _localctx.exception = re;
15894 _errHandler.reportError(this, re);
15895 _errHandler.recover(this, re);
15896 }
15897 finally {
15898 exitRule();
15899 }
15900 return _localctx;
15901 }
15902
15903 public static class ComputedColumnConstraintContext extends ParserRuleContext {
15904 public PrimaryKeyConstraintContext primaryKeyConstraint() {
15905 return getRuleContext(PrimaryKeyConstraintContext.class,0);
15906 }
15907 public ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() {
15908 return getRuleContext(ComputedColumnForeignKeyConstraintContext.class,0);
15909 }
15910 public CheckConstraintContext checkConstraint() {
15911 return getRuleContext(CheckConstraintContext.class,0);
15912 }
15913 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
15914 public ConstraintNameContext constraintName() {
15915 return getRuleContext(ConstraintNameContext.class,0);
15916 }
15917 public ComputedColumnConstraintContext(ParserRuleContext parent, int invokingState) {
15918 super(parent, invokingState);
15919 }
15920 @Override public int getRuleIndex() { return RULE_computedColumnConstraint; }
15921 @Override
15922 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15923 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnConstraint(this);
15924 else return visitor.visitChildren(this);
15925 }
15926 }
15927
15928 public final ComputedColumnConstraintContext computedColumnConstraint() throws RecognitionException {
15929 ComputedColumnConstraintContext _localctx = new ComputedColumnConstraintContext(_ctx, getState());
15930 enterRule(_localctx, 332, RULE_computedColumnConstraint);
15931 int _la;
15932 try {
15933 enterOuterAlt(_localctx, 1);
15934 {
15935 setState(2489);
15936 _errHandler.sync(this);
15937 _la = _input.LA(1);
15938 if (_la==CONSTRAINT) {
15939 {
15940 setState(2487);
15941 match(CONSTRAINT);
15942 setState(2488);
15943 constraintName();
15944 }
15945 }
15946
15947 setState(2494);
15948 _errHandler.sync(this);
15949 switch (_input.LA(1)) {
15950 case PRIMARY:
15951 case UNIQUE:
15952 case KEY:
15953 {
15954 setState(2491);
15955 primaryKeyConstraint();
15956 }
15957 break;
15958 case TRUNCATE:
15959 case SCHEMA:
15960 case COLUMNS:
15961 case FOREIGN:
15962 case PRECISION:
15963 case FUNCTION:
15964 case TRIGGER:
15965 case CAST:
15966 case SUBSTRING:
15967 case OFF:
15968 case GROUP:
15969 case LIMIT:
15970 case OFFSET:
15971 case SAVEPOINT:
15972 case BOOLEAN:
15973 case ARRAY:
15974 case DATE:
15975 case LOCALTIME:
15976 case LOCALTIMESTAMP:
15977 case QUARTER:
15978 case MONTH:
15979 case WEEK:
15980 case DAY:
15981 case SECOND:
15982 case MICROSECOND:
15983 case MAX:
15984 case MIN:
15985 case SUM:
15986 case COUNT:
15987 case AVG:
15988 case ENABLE:
15989 case DISABLE:
15990 case INSTANCE:
15991 case DO:
15992 case DEFINER:
15993 case SQL:
15994 case CASCADED:
15995 case LOCAL:
15996 case NEXT:
15997 case NAME:
15998 case INTEGER:
15999 case TYPE:
16000 case TEXT:
16001 case VIEWS:
16002 case READ_ONLY:
16003 case DATABASE:
16004 case RETURNS:
16005 case DATEPART:
16006 case PASSWORD:
16007 case BINARY:
16008 case HIDDEN_:
16009 case MOD:
16010 case PARTITION:
16011 case PARTITIONS:
16012 case TOP:
16013 case ROW:
16014 case ROWS:
16015 case XOR:
16016 case ALWAYS:
16017 case ROLE:
16018 case START:
16019 case ALGORITHM:
16020 case AUTO:
16021 case BLOCKERS:
16022 case CLUSTERED:
16023 case NONCLUSTERED:
16024 case COLUMNSTORE:
16025 case CONTENT:
16026 case YEARS:
16027 case MONTHS:
16028 case WEEKS:
16029 case DAYS:
16030 case MINUTES:
16031 case DENY:
16032 case DETERMINISTIC:
16033 case DISTRIBUTION:
16034 case DOCUMENT:
16035 case DURABILITY:
16036 case ENCRYPTED:
16037 case FILESTREAM:
16038 case FILETABLE:
16039 case FILLFACTOR:
16040 case FOLLOWING:
16041 case HASH:
16042 case HEAP:
16043 case INBOUND:
16044 case OUTBOUND:
16045 case UNBOUNDED:
16046 case INFINITE:
16047 case LOGIN:
16048 case MASKED:
16049 case MAXDOP:
16050 case MOVE:
16051 case NOCHECK:
16052 case OBJECT:
16053 case ONLINE:
16054 case OVER:
16055 case PAGE:
16056 case PAUSED:
16057 case PERIOD:
16058 case PERSISTED:
16059 case PRECEDING:
16060 case RANDOMIZED:
16061 case RANGE:
16062 case REBUILD:
16063 case REPLICATE:
16064 case REPLICATION:
16065 case RESUMABLE:
16066 case ROWGUIDCOL:
16067 case SAVE:
16068 case SELF:
16069 case SPARSE:
16070 case SWITCH:
16071 case TRAN:
16072 case TRANCOUNT:
16073 case CONTROL:
16074 case CONCAT:
16075 case TAKE:
16076 case OWNERSHIP:
16077 case DEFINITION:
16078 case APPLICATION:
16079 case ASSEMBLY:
16080 case SYMMETRIC:
16081 case ASYMMETRIC:
16082 case SERVER:
16083 case RECEIVE:
16084 case CHANGE:
16085 case TRACE:
16086 case TRACKING:
16087 case RESOURCES:
16088 case SETTINGS:
16089 case STATE:
16090 case AVAILABILITY:
16091 case CREDENTIAL:
16092 case ENDPOINT:
16093 case EVENT:
16094 case NOTIFICATION:
16095 case LINKED:
16096 case AUDIT:
16097 case DDL:
16098 case XML:
16099 case IMPERSONATE:
16100 case SECURABLES:
16101 case AUTHENTICATE:
16102 case EXTERNAL:
16103 case ACCESS:
16104 case ADMINISTER:
16105 case BULK:
16106 case OPERATIONS:
16107 case UNSAFE:
16108 case SHUTDOWN:
16109 case SCOPED:
16110 case CONFIGURATION:
16111 case DATASPACE:
16112 case SERVICE:
16113 case CERTIFICATE:
16114 case CONTRACT:
16115 case ENCRYPTION:
16116 case MASTER:
16117 case DATA:
16118 case SOURCE:
16119 case FILE:
16120 case FORMAT:
16121 case LIBRARY:
16122 case FULLTEXT:
16123 case MASK:
16124 case UNMASK:
16125 case MESSAGE:
16126 case REMOTE:
16127 case BINDING:
16128 case ROUTE:
16129 case SECURITY:
16130 case POLICY:
16131 case AGGREGATE:
16132 case QUEUE:
16133 case RULE:
16134 case SYNONYM:
16135 case COLLECTION:
16136 case SCRIPT:
16137 case KILL:
16138 case BACKUP:
16139 case LOG:
16140 case SHOWPLAN:
16141 case SUBSCRIBE:
16142 case QUERY:
16143 case NOTIFICATIONS:
16144 case CHECKPOINT:
16145 case SEQUENCE:
16146 case ABORT_AFTER_WAIT:
16147 case ALLOW_PAGE_LOCKS:
16148 case ALLOW_ROW_LOCKS:
16149 case ALL_SPARSE_COLUMNS:
16150 case BUCKET_COUNT:
16151 case COLUMNSTORE_ARCHIVE:
16152 case COLUMN_ENCRYPTION_KEY:
16153 case COLUMN_SET:
16154 case COMPRESSION_DELAY:
16155 case DATABASE_DEAULT:
16156 case DATA_COMPRESSION:
16157 case DATA_CONSISTENCY_CHECK:
16158 case ENCRYPTION_TYPE:
16159 case SYSTEM_TIME:
16160 case SYSTEM_VERSIONING:
16161 case TEXTIMAGE_ON:
16162 case WAIT_AT_LOW_PRIORITY:
16163 case STATISTICS_INCREMENTAL:
16164 case STATISTICS_NORECOMPUTE:
16165 case ROUND_ROBIN:
16166 case SCHEMA_AND_DATA:
16167 case SCHEMA_ONLY:
16168 case SORT_IN_TEMPDB:
16169 case IGNORE_DUP_KEY:
16170 case IMPLICIT_TRANSACTIONS:
16171 case MAX_DURATION:
16172 case MEMORY_OPTIMIZED:
16173 case MIGRATION_STATE:
16174 case PAD_INDEX:
16175 case REMOTE_DATA_ARCHIVE:
16176 case FILESTREAM_ON:
16177 case FILETABLE_COLLATE_FILENAME:
16178 case FILETABLE_DIRECTORY:
16179 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
16180 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
16181 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
16182 case FILTER_PREDICATE:
16183 case HISTORY_RETENTION_PERIOD:
16184 case HISTORY_TABLE:
16185 case LOCK_ESCALATION:
16186 case DROP_EXISTING:
16187 case ROW_NUMBER:
16188 case FIRST:
16189 case DATETIME2:
16190 case OUTPUT:
16191 case INSERTED:
16192 case DELETED:
16193 case FILENAME:
16194 case SIZE:
16195 case MAXSIZE:
16196 case FILEGROWTH:
16197 case UNLIMITED:
16198 case KB:
16199 case MB:
16200 case GB:
16201 case TB:
16202 case CONTAINS:
16203 case MEMORY_OPTIMIZED_DATA:
16204 case FILEGROUP:
16205 case NON_TRANSACTED_ACCESS:
16206 case DB_CHAINING:
16207 case TRUSTWORTHY:
16208 case FORWARD_ONLY:
16209 case KEYSET:
16210 case FAST_FORWARD:
16211 case SCROLL_LOCKS:
16212 case OPTIMISTIC:
16213 case TYPE_WARNING:
16214 case SCHEMABINDING:
16215 case CALLER:
16216 case OWNER:
16217 case SNAPSHOT:
16218 case REPEATABLE:
16219 case SERIALIZABLE:
16220 case NATIVE_COMPILATION:
16221 case VIEW_METADATA:
16222 case INSTEAD:
16223 case APPEND:
16224 case INCREMENT:
16225 case CACHE:
16226 case MINVALUE:
16227 case MAXVALUE:
16228 case RESTART:
16229 case LOB_COMPACTION:
16230 case COMPRESS_ALL_ROW_GROUPS:
16231 case REORGANIZE:
16232 case RESUME:
16233 case PAUSE:
16234 case ABORT:
16235 case ACCELERATED_DATABASE_RECOVERY:
16236 case PERSISTENT_VERSION_STORE_FILEGROUP:
16237 case IMMEDIATE:
16238 case NO_WAIT:
16239 case TARGET_RECOVERY_TIME:
16240 case SECONDS:
16241 case HONOR_BROKER_PRIORITY:
16242 case ERROR_BROKER_CONVERSATIONS:
16243 case NEW_BROKER:
16244 case DISABLE_BROKER:
16245 case ENABLE_BROKER:
16246 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
16247 case READ_COMMITTED_SNAPSHOT:
16248 case ALLOW_SNAPSHOT_ISOLATION:
16249 case RECURSIVE_TRIGGERS:
16250 case QUOTED_IDENTIFIER:
16251 case NUMERIC_ROUNDABORT:
16252 case CONCAT_NULL_YIELDS_NULL:
16253 case COMPATIBILITY_LEVEL:
16254 case ARITHABORT:
16255 case ANSI_WARNINGS:
16256 case ANSI_PADDING:
16257 case ANSI_NULLS:
16258 case ANSI_NULL_DEFAULT:
16259 case PAGE_VERIFY:
16260 case CHECKSUM:
16261 case TORN_PAGE_DETECTION:
16262 case BULK_LOGGED:
16263 case RECOVERY:
16264 case TOTAL_EXECUTION_CPU_TIME_MS:
16265 case TOTAL_COMPILE_CPU_TIME_MS:
16266 case STALE_CAPTURE_POLICY_THRESHOLD:
16267 case EXECUTION_COUNT:
16268 case QUERY_CAPTURE_POLICY:
16269 case WAIT_STATS_CAPTURE_MODE:
16270 case MAX_PLANS_PER_QUERY:
16271 case QUERY_CAPTURE_MODE:
16272 case SIZE_BASED_CLEANUP_MODE:
16273 case INTERVAL_LENGTH_MINUTES:
16274 case MAX_STORAGE_SIZE_MB:
16275 case DATA_FLUSH_INTERVAL_SECONDS:
16276 case CLEANUP_POLICY:
16277 case CUSTOM:
16278 case STALE_QUERY_THRESHOLD_DAYS:
16279 case OPERATION_MODE:
16280 case QUERY_STORE:
16281 case CURSOR_DEFAULT:
16282 case GLOBAL:
16283 case CURSOR_CLOSE_ON_COMMIT:
16284 case HOURS:
16285 case CHANGE_RETENTION:
16286 case AUTO_CLEANUP:
16287 case CHANGE_TRACKING:
16288 case AUTOMATIC_TUNING:
16289 case FORCE_LAST_GOOD_PLAN:
16290 case AUTO_UPDATE_STATISTICS_ASYNC:
16291 case AUTO_UPDATE_STATISTICS:
16292 case AUTO_SHRINK:
16293 case AUTO_CREATE_STATISTICS:
16294 case INCREMENTAL:
16295 case AUTO_CLOSE:
16296 case DATA_RETENTION:
16297 case TEMPORAL_HISTORY_RETENTION:
16298 case EDITION:
16299 case MIXED_PAGE_ALLOCATION:
16300 case DISABLED:
16301 case ALLOWED:
16302 case HADR:
16303 case MULTI_USER:
16304 case RESTRICTED_USER:
16305 case SINGLE_USER:
16306 case OFFLINE:
16307 case EMERGENCY:
16308 case SUSPEND:
16309 case DATE_CORRELATION_OPTIMIZATION:
16310 case ELASTIC_POOL:
16311 case SERVICE_OBJECTIVE:
16312 case DATABASE_NAME:
16313 case ALLOW_CONNECTIONS:
16314 case GEO:
16315 case NAMED:
16316 case DATEFIRST:
16317 case BACKUP_STORAGE_REDUNDANCY:
16318 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
16319 case SECONDARY:
16320 case FAILOVER:
16321 case DEFAULT_FULLTEXT_LANGUAGE:
16322 case DEFAULT_LANGUAGE:
16323 case INLINE:
16324 case NESTED_TRIGGERS:
16325 case TRANSFORM_NOISE_WORDS:
16326 case TWO_DIGIT_YEAR_CUTOFF:
16327 case PERSISTENT_LOG_BUFFER:
16328 case DIRECTORY_NAME:
16329 case DATEFORMAT:
16330 case DELAYED_DURABILITY:
16331 case AUTHORIZATION:
16332 case TRANSFER:
16333 case PROVIDER:
16334 case SEARCH:
16335 case MEMBER:
16336 case IDENTIFIER_:
16337 case DELIMITED_IDENTIFIER_:
16338 {
16339 setState(2492);
16340 computedColumnForeignKeyConstraint();
16341 }
16342 break;
16343 case CHECK:
16344 {
16345 setState(2493);
16346 checkConstraint();
16347 }
16348 break;
16349 default:
16350 throw new NoViableAltException(this);
16351 }
16352 }
16353 }
16354 catch (RecognitionException re) {
16355 _localctx.exception = re;
16356 _errHandler.reportError(this, re);
16357 _errHandler.recover(this, re);
16358 }
16359 finally {
16360 exitRule();
16361 }
16362 return _localctx;
16363 }
16364
16365 public static class ComputedColumnForeignKeyConstraintContext extends ParserRuleContext {
16366 public TableNameContext tableName() {
16367 return getRuleContext(TableNameContext.class,0);
16368 }
16369 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
16370 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
16371 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16372 public ColumnNameContext columnName() {
16373 return getRuleContext(ColumnNameContext.class,0);
16374 }
16375 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16376 public List<ComputedColumnForeignKeyOnActionContext> computedColumnForeignKeyOnAction() {
16377 return getRuleContexts(ComputedColumnForeignKeyOnActionContext.class);
16378 }
16379 public ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction(int i) {
16380 return getRuleContext(ComputedColumnForeignKeyOnActionContext.class,i);
16381 }
16382 public ComputedColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
16383 super(parent, invokingState);
16384 }
16385 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyConstraint; }
16386 @Override
16387 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16388 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyConstraint(this);
16389 else return visitor.visitChildren(this);
16390 }
16391 }
16392
16393 public final ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() throws RecognitionException {
16394 ComputedColumnForeignKeyConstraintContext _localctx = new ComputedColumnForeignKeyConstraintContext(_ctx, getState());
16395 enterRule(_localctx, 334, RULE_computedColumnForeignKeyConstraint);
16396 int _la;
16397 try {
16398 enterOuterAlt(_localctx, 1);
16399 {
16400 setState(2498);
16401 _errHandler.sync(this);
16402 _la = _input.LA(1);
16403 if (_la==FOREIGN) {
16404 {
16405 setState(2496);
16406 match(FOREIGN);
16407 setState(2497);
16408 match(KEY);
16409 }
16410 }
16411
16412 setState(2500);
16413 tableName();
16414 setState(2505);
16415 _errHandler.sync(this);
16416 switch ( getInterpreter().adaptivePredict(_input,186,_ctx) ) {
16417 case 1:
16418 {
16419 setState(2501);
16420 match(LP_);
16421 setState(2502);
16422 columnName();
16423 setState(2503);
16424 match(RP_);
16425 }
16426 break;
16427 }
16428 setState(2510);
16429 _errHandler.sync(this);
16430 _la = _input.LA(1);
16431 while (_la==ON || _la==NOT) {
16432 {
16433 {
16434 setState(2507);
16435 computedColumnForeignKeyOnAction();
16436 }
16437 }
16438 setState(2512);
16439 _errHandler.sync(this);
16440 _la = _input.LA(1);
16441 }
16442 }
16443 }
16444 catch (RecognitionException re) {
16445 _localctx.exception = re;
16446 _errHandler.reportError(this, re);
16447 _errHandler.recover(this, re);
16448 }
16449 finally {
16450 exitRule();
16451 }
16452 return _localctx;
16453 }
16454
16455 public static class ComputedColumnForeignKeyOnActionContext extends ParserRuleContext {
16456 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16457 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
16458 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
16459 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
16460 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
16461 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
16462 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
16463 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
16464 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
16465 public ComputedColumnForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
16466 super(parent, invokingState);
16467 }
16468 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyOnAction; }
16469 @Override
16470 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16471 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyOnAction(this);
16472 else return visitor.visitChildren(this);
16473 }
16474 }
16475
16476 public final ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction() throws RecognitionException {
16477 ComputedColumnForeignKeyOnActionContext _localctx = new ComputedColumnForeignKeyOnActionContext(_ctx, getState());
16478 enterRule(_localctx, 336, RULE_computedColumnForeignKeyOnAction);
16479 try {
16480 setState(2527);
16481 _errHandler.sync(this);
16482 switch ( getInterpreter().adaptivePredict(_input,189,_ctx) ) {
16483 case 1:
16484 enterOuterAlt(_localctx, 1);
16485 {
16486 setState(2513);
16487 match(ON);
16488 setState(2514);
16489 match(DELETE);
16490 setState(2518);
16491 _errHandler.sync(this);
16492 switch (_input.LA(1)) {
16493 case NO:
16494 {
16495 setState(2515);
16496 match(NO);
16497 setState(2516);
16498 match(ACTION);
16499 }
16500 break;
16501 case CASCADE:
16502 {
16503 setState(2517);
16504 match(CASCADE);
16505 }
16506 break;
16507 default:
16508 throw new NoViableAltException(this);
16509 }
16510 }
16511 break;
16512 case 2:
16513 enterOuterAlt(_localctx, 2);
16514 {
16515 setState(2520);
16516 match(ON);
16517 setState(2521);
16518 match(UPDATE);
16519 setState(2522);
16520 match(NO);
16521 setState(2523);
16522 match(ACTION);
16523 }
16524 break;
16525 case 3:
16526 enterOuterAlt(_localctx, 3);
16527 {
16528 setState(2524);
16529 match(NOT);
16530 setState(2525);
16531 match(FOR);
16532 setState(2526);
16533 match(REPLICATION);
16534 }
16535 break;
16536 }
16537 }
16538 catch (RecognitionException re) {
16539 _localctx.exception = re;
16540 _errHandler.reportError(this, re);
16541 _errHandler.recover(this, re);
16542 }
16543 finally {
16544 exitRule();
16545 }
16546 return _localctx;
16547 }
16548
16549 public static class PrimaryKeyConstraintContext extends ParserRuleContext {
16550 public PrimaryKeyContext primaryKey() {
16551 return getRuleContext(PrimaryKeyContext.class,0);
16552 }
16553 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
16554 public DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() {
16555 return getRuleContext(DiskTablePrimaryKeyConstraintOptionContext.class,0);
16556 }
16557 public MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() {
16558 return getRuleContext(MemoryTablePrimaryKeyConstraintOptionContext.class,0);
16559 }
16560 public PrimaryKeyConstraintContext(ParserRuleContext parent, int invokingState) {
16561 super(parent, invokingState);
16562 }
16563 @Override public int getRuleIndex() { return RULE_primaryKeyConstraint; }
16564 @Override
16565 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16566 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyConstraint(this);
16567 else return visitor.visitChildren(this);
16568 }
16569 }
16570
16571 public final PrimaryKeyConstraintContext primaryKeyConstraint() throws RecognitionException {
16572 PrimaryKeyConstraintContext _localctx = new PrimaryKeyConstraintContext(_ctx, getState());
16573 enterRule(_localctx, 338, RULE_primaryKeyConstraint);
16574 try {
16575 enterOuterAlt(_localctx, 1);
16576 {
16577 setState(2531);
16578 _errHandler.sync(this);
16579 switch (_input.LA(1)) {
16580 case PRIMARY:
16581 case KEY:
16582 {
16583 setState(2529);
16584 primaryKey();
16585 }
16586 break;
16587 case UNIQUE:
16588 {
16589 setState(2530);
16590 match(UNIQUE);
16591 }
16592 break;
16593 default:
16594 throw new NoViableAltException(this);
16595 }
16596 setState(2535);
16597 _errHandler.sync(this);
16598 switch ( getInterpreter().adaptivePredict(_input,191,_ctx) ) {
16599 case 1:
16600 {
16601 setState(2533);
16602 diskTablePrimaryKeyConstraintOption();
16603 }
16604 break;
16605 case 2:
16606 {
16607 setState(2534);
16608 memoryTablePrimaryKeyConstraintOption();
16609 }
16610 break;
16611 }
16612 }
16613 }
16614 catch (RecognitionException re) {
16615 _localctx.exception = re;
16616 _errHandler.reportError(this, re);
16617 _errHandler.recover(this, re);
16618 }
16619 finally {
16620 exitRule();
16621 }
16622 return _localctx;
16623 }
16624
16625 public static class DiskTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
16626 public ClusterOptionContext clusterOption() {
16627 return getRuleContext(ClusterOptionContext.class,0);
16628 }
16629 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
16630 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
16631 }
16632 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
16633 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
16634 }
16635 public DiskTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
16636 super(parent, invokingState);
16637 }
16638 @Override public int getRuleIndex() { return RULE_diskTablePrimaryKeyConstraintOption; }
16639 @Override
16640 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16641 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryKeyConstraintOption(this);
16642 else return visitor.visitChildren(this);
16643 }
16644 }
16645
16646 public final DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() throws RecognitionException {
16647 DiskTablePrimaryKeyConstraintOptionContext _localctx = new DiskTablePrimaryKeyConstraintOptionContext(_ctx, getState());
16648 enterRule(_localctx, 340, RULE_diskTablePrimaryKeyConstraintOption);
16649 int _la;
16650 try {
16651 enterOuterAlt(_localctx, 1);
16652 {
16653 setState(2538);
16654 _errHandler.sync(this);
16655 _la = _input.LA(1);
16656 if (_la==CLUSTERED || _la==NONCLUSTERED) {
16657 {
16658 setState(2537);
16659 clusterOption();
16660 }
16661 }
16662
16663 setState(2541);
16664 _errHandler.sync(this);
16665 switch ( getInterpreter().adaptivePredict(_input,193,_ctx) ) {
16666 case 1:
16667 {
16668 setState(2540);
16669 primaryKeyWithClause();
16670 }
16671 break;
16672 }
16673 setState(2544);
16674 _errHandler.sync(this);
16675 _la = _input.LA(1);
16676 if (_la==ON) {
16677 {
16678 setState(2543);
16679 primaryKeyOnClause();
16680 }
16681 }
16682
16683 }
16684 }
16685 catch (RecognitionException re) {
16686 _localctx.exception = re;
16687 _errHandler.reportError(this, re);
16688 _errHandler.recover(this, re);
16689 }
16690 finally {
16691 exitRule();
16692 }
16693 return _localctx;
16694 }
16695
16696 public static class ClusterOptionContext extends ParserRuleContext {
16697 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
16698 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
16699 public ClusterOptionContext(ParserRuleContext parent, int invokingState) {
16700 super(parent, invokingState);
16701 }
16702 @Override public int getRuleIndex() { return RULE_clusterOption; }
16703 @Override
16704 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16705 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClusterOption(this);
16706 else return visitor.visitChildren(this);
16707 }
16708 }
16709
16710 public final ClusterOptionContext clusterOption() throws RecognitionException {
16711 ClusterOptionContext _localctx = new ClusterOptionContext(_ctx, getState());
16712 enterRule(_localctx, 342, RULE_clusterOption);
16713 int _la;
16714 try {
16715 enterOuterAlt(_localctx, 1);
16716 {
16717 setState(2546);
16718 _la = _input.LA(1);
16719 if ( !(_la==CLUSTERED || _la==NONCLUSTERED) ) {
16720 _errHandler.recoverInline(this);
16721 }
16722 else {
16723 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16724 _errHandler.reportMatch(this);
16725 consume();
16726 }
16727 }
16728 }
16729 catch (RecognitionException re) {
16730 _localctx.exception = re;
16731 _errHandler.reportError(this, re);
16732 _errHandler.recover(this, re);
16733 }
16734 finally {
16735 exitRule();
16736 }
16737 return _localctx;
16738 }
16739
16740 public static class PrimaryKeyWithClauseContext extends ParserRuleContext {
16741 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
16742 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
16743 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
16744 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
16745 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16746 public List<IndexOptionContext> indexOption() {
16747 return getRuleContexts(IndexOptionContext.class);
16748 }
16749 public IndexOptionContext indexOption(int i) {
16750 return getRuleContext(IndexOptionContext.class,i);
16751 }
16752 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16753 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16754 public TerminalNode COMMA_(int i) {
16755 return getToken(SQLServerStatementParser.COMMA_, i);
16756 }
16757 public PrimaryKeyWithClauseContext(ParserRuleContext parent, int invokingState) {
16758 super(parent, invokingState);
16759 }
16760 @Override public int getRuleIndex() { return RULE_primaryKeyWithClause; }
16761 @Override
16762 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16763 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyWithClause(this);
16764 else return visitor.visitChildren(this);
16765 }
16766 }
16767
16768 public final PrimaryKeyWithClauseContext primaryKeyWithClause() throws RecognitionException {
16769 PrimaryKeyWithClauseContext _localctx = new PrimaryKeyWithClauseContext(_ctx, getState());
16770 enterRule(_localctx, 344, RULE_primaryKeyWithClause);
16771 int _la;
16772 try {
16773 enterOuterAlt(_localctx, 1);
16774 {
16775 setState(2548);
16776 match(WITH);
16777 setState(2563);
16778 _errHandler.sync(this);
16779 switch (_input.LA(1)) {
16780 case FILLFACTOR:
16781 {
16782 setState(2549);
16783 match(FILLFACTOR);
16784 setState(2550);
16785 match(EQ_);
16786 setState(2551);
16787 match(NUMBER_);
16788 }
16789 break;
16790 case LP_:
16791 {
16792 setState(2552);
16793 match(LP_);
16794 setState(2553);
16795 indexOption();
16796 setState(2558);
16797 _errHandler.sync(this);
16798 _la = _input.LA(1);
16799 while (_la==COMMA_) {
16800 {
16801 {
16802 setState(2554);
16803 match(COMMA_);
16804 setState(2555);
16805 indexOption();
16806 }
16807 }
16808 setState(2560);
16809 _errHandler.sync(this);
16810 _la = _input.LA(1);
16811 }
16812 setState(2561);
16813 match(RP_);
16814 }
16815 break;
16816 default:
16817 throw new NoViableAltException(this);
16818 }
16819 }
16820 }
16821 catch (RecognitionException re) {
16822 _localctx.exception = re;
16823 _errHandler.reportError(this, re);
16824 _errHandler.recover(this, re);
16825 }
16826 finally {
16827 exitRule();
16828 }
16829 return _localctx;
16830 }
16831
16832 public static class PrimaryKeyOnClauseContext extends ParserRuleContext {
16833 public OnSchemaColumnContext onSchemaColumn() {
16834 return getRuleContext(OnSchemaColumnContext.class,0);
16835 }
16836 public OnFileGroupContext onFileGroup() {
16837 return getRuleContext(OnFileGroupContext.class,0);
16838 }
16839 public OnStringContext onString() {
16840 return getRuleContext(OnStringContext.class,0);
16841 }
16842 public PrimaryKeyOnClauseContext(ParserRuleContext parent, int invokingState) {
16843 super(parent, invokingState);
16844 }
16845 @Override public int getRuleIndex() { return RULE_primaryKeyOnClause; }
16846 @Override
16847 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16848 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyOnClause(this);
16849 else return visitor.visitChildren(this);
16850 }
16851 }
16852
16853 public final PrimaryKeyOnClauseContext primaryKeyOnClause() throws RecognitionException {
16854 PrimaryKeyOnClauseContext _localctx = new PrimaryKeyOnClauseContext(_ctx, getState());
16855 enterRule(_localctx, 346, RULE_primaryKeyOnClause);
16856 try {
16857 setState(2568);
16858 _errHandler.sync(this);
16859 switch ( getInterpreter().adaptivePredict(_input,197,_ctx) ) {
16860 case 1:
16861 enterOuterAlt(_localctx, 1);
16862 {
16863 setState(2565);
16864 onSchemaColumn();
16865 }
16866 break;
16867 case 2:
16868 enterOuterAlt(_localctx, 2);
16869 {
16870 setState(2566);
16871 onFileGroup();
16872 }
16873 break;
16874 case 3:
16875 enterOuterAlt(_localctx, 3);
16876 {
16877 setState(2567);
16878 onString();
16879 }
16880 break;
16881 }
16882 }
16883 catch (RecognitionException re) {
16884 _localctx.exception = re;
16885 _errHandler.reportError(this, re);
16886 _errHandler.recover(this, re);
16887 }
16888 finally {
16889 exitRule();
16890 }
16891 return _localctx;
16892 }
16893
16894 public static class OnSchemaColumnContext extends ParserRuleContext {
16895 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16896 public SchemaNameContext schemaName() {
16897 return getRuleContext(SchemaNameContext.class,0);
16898 }
16899 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16900 public ColumnNameContext columnName() {
16901 return getRuleContext(ColumnNameContext.class,0);
16902 }
16903 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16904 public OnSchemaColumnContext(ParserRuleContext parent, int invokingState) {
16905 super(parent, invokingState);
16906 }
16907 @Override public int getRuleIndex() { return RULE_onSchemaColumn; }
16908 @Override
16909 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16910 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnSchemaColumn(this);
16911 else return visitor.visitChildren(this);
16912 }
16913 }
16914
16915 public final OnSchemaColumnContext onSchemaColumn() throws RecognitionException {
16916 OnSchemaColumnContext _localctx = new OnSchemaColumnContext(_ctx, getState());
16917 enterRule(_localctx, 348, RULE_onSchemaColumn);
16918 try {
16919 enterOuterAlt(_localctx, 1);
16920 {
16921 setState(2570);
16922 match(ON);
16923 setState(2571);
16924 schemaName();
16925 setState(2572);
16926 match(LP_);
16927 setState(2573);
16928 columnName();
16929 setState(2574);
16930 match(RP_);
16931 }
16932 }
16933 catch (RecognitionException re) {
16934 _localctx.exception = re;
16935 _errHandler.reportError(this, re);
16936 _errHandler.recover(this, re);
16937 }
16938 finally {
16939 exitRule();
16940 }
16941 return _localctx;
16942 }
16943
16944 public static class OnFileGroupContext extends ParserRuleContext {
16945 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16946 public IgnoredIdentifierContext ignoredIdentifier() {
16947 return getRuleContext(IgnoredIdentifierContext.class,0);
16948 }
16949 public OnFileGroupContext(ParserRuleContext parent, int invokingState) {
16950 super(parent, invokingState);
16951 }
16952 @Override public int getRuleIndex() { return RULE_onFileGroup; }
16953 @Override
16954 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16955 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnFileGroup(this);
16956 else return visitor.visitChildren(this);
16957 }
16958 }
16959
16960 public final OnFileGroupContext onFileGroup() throws RecognitionException {
16961 OnFileGroupContext _localctx = new OnFileGroupContext(_ctx, getState());
16962 enterRule(_localctx, 350, RULE_onFileGroup);
16963 try {
16964 enterOuterAlt(_localctx, 1);
16965 {
16966 setState(2576);
16967 match(ON);
16968 setState(2577);
16969 ignoredIdentifier();
16970 }
16971 }
16972 catch (RecognitionException re) {
16973 _localctx.exception = re;
16974 _errHandler.reportError(this, re);
16975 _errHandler.recover(this, re);
16976 }
16977 finally {
16978 exitRule();
16979 }
16980 return _localctx;
16981 }
16982
16983 public static class OnStringContext extends ParserRuleContext {
16984 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16985 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
16986 public OnStringContext(ParserRuleContext parent, int invokingState) {
16987 super(parent, invokingState);
16988 }
16989 @Override public int getRuleIndex() { return RULE_onString; }
16990 @Override
16991 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16992 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnString(this);
16993 else return visitor.visitChildren(this);
16994 }
16995 }
16996
16997 public final OnStringContext onString() throws RecognitionException {
16998 OnStringContext _localctx = new OnStringContext(_ctx, getState());
16999 enterRule(_localctx, 352, RULE_onString);
17000 try {
17001 enterOuterAlt(_localctx, 1);
17002 {
17003 setState(2579);
17004 match(ON);
17005 setState(2580);
17006 match(STRING_);
17007 }
17008 }
17009 catch (RecognitionException re) {
17010 _localctx.exception = re;
17011 _errHandler.reportError(this, re);
17012 _errHandler.recover(this, re);
17013 }
17014 finally {
17015 exitRule();
17016 }
17017 return _localctx;
17018 }
17019
17020 public static class MemoryTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
17021 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17022 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
17023 public WithBucketContext withBucket() {
17024 return getRuleContext(WithBucketContext.class,0);
17025 }
17026 public MemoryTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17027 super(parent, invokingState);
17028 }
17029 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryKeyConstraintOption; }
17030 @Override
17031 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17032 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryKeyConstraintOption(this);
17033 else return visitor.visitChildren(this);
17034 }
17035 }
17036
17037 public final MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() throws RecognitionException {
17038 MemoryTablePrimaryKeyConstraintOptionContext _localctx = new MemoryTablePrimaryKeyConstraintOptionContext(_ctx, getState());
17039 enterRule(_localctx, 354, RULE_memoryTablePrimaryKeyConstraintOption);
17040 try {
17041 setState(2588);
17042 _errHandler.sync(this);
17043 switch ( getInterpreter().adaptivePredict(_input,199,_ctx) ) {
17044 case 1:
17045 enterOuterAlt(_localctx, 1);
17046 {
17047 setState(2582);
17048 match(NONCLUSTERED);
17049 }
17050 break;
17051 case 2:
17052 enterOuterAlt(_localctx, 2);
17053 {
17054 setState(2583);
17055 match(NONCLUSTERED);
17056 setState(2584);
17057 match(HASH);
17058 setState(2586);
17059 _errHandler.sync(this);
17060 switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) {
17061 case 1:
17062 {
17063 setState(2585);
17064 withBucket();
17065 }
17066 break;
17067 }
17068 }
17069 break;
17070 }
17071 }
17072 catch (RecognitionException re) {
17073 _localctx.exception = re;
17074 _errHandler.reportError(this, re);
17075 _errHandler.recover(this, re);
17076 }
17077 finally {
17078 exitRule();
17079 }
17080 return _localctx;
17081 }
17082
17083 public static class WithBucketContext extends ParserRuleContext {
17084 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
17085 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17086 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
17087 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
17088 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
17089 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17090 public WithBucketContext(ParserRuleContext parent, int invokingState) {
17091 super(parent, invokingState);
17092 }
17093 @Override public int getRuleIndex() { return RULE_withBucket; }
17094 @Override
17095 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17096 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithBucket(this);
17097 else return visitor.visitChildren(this);
17098 }
17099 }
17100
17101 public final WithBucketContext withBucket() throws RecognitionException {
17102 WithBucketContext _localctx = new WithBucketContext(_ctx, getState());
17103 enterRule(_localctx, 356, RULE_withBucket);
17104 try {
17105 enterOuterAlt(_localctx, 1);
17106 {
17107 setState(2590);
17108 match(WITH);
17109 setState(2591);
17110 match(LP_);
17111 setState(2592);
17112 match(BUCKET_COUNT);
17113 setState(2593);
17114 match(EQ_);
17115 setState(2594);
17116 match(NUMBER_);
17117 setState(2595);
17118 match(RP_);
17119 }
17120 }
17121 catch (RecognitionException re) {
17122 _localctx.exception = re;
17123 _errHandler.reportError(this, re);
17124 _errHandler.recover(this, re);
17125 }
17126 finally {
17127 exitRule();
17128 }
17129 return _localctx;
17130 }
17131
17132 public static class ColumnForeignKeyConstraintContext extends ParserRuleContext {
17133 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
17134 public TableNameContext tableName() {
17135 return getRuleContext(TableNameContext.class,0);
17136 }
17137 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
17138 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
17139 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17140 public ColumnNameContext columnName() {
17141 return getRuleContext(ColumnNameContext.class,0);
17142 }
17143 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17144 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
17145 return getRuleContexts(ForeignKeyOnActionContext.class);
17146 }
17147 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
17148 return getRuleContext(ForeignKeyOnActionContext.class,i);
17149 }
17150 public ColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
17151 super(parent, invokingState);
17152 }
17153 @Override public int getRuleIndex() { return RULE_columnForeignKeyConstraint; }
17154 @Override
17155 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17156 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnForeignKeyConstraint(this);
17157 else return visitor.visitChildren(this);
17158 }
17159 }
17160
17161 public final ColumnForeignKeyConstraintContext columnForeignKeyConstraint() throws RecognitionException {
17162 ColumnForeignKeyConstraintContext _localctx = new ColumnForeignKeyConstraintContext(_ctx, getState());
17163 enterRule(_localctx, 358, RULE_columnForeignKeyConstraint);
17164 int _la;
17165 try {
17166 int _alt;
17167 enterOuterAlt(_localctx, 1);
17168 {
17169 setState(2599);
17170 _errHandler.sync(this);
17171 _la = _input.LA(1);
17172 if (_la==FOREIGN) {
17173 {
17174 setState(2597);
17175 match(FOREIGN);
17176 setState(2598);
17177 match(KEY);
17178 }
17179 }
17180
17181 setState(2601);
17182 match(REFERENCES);
17183 setState(2602);
17184 tableName();
17185 setState(2607);
17186 _errHandler.sync(this);
17187 switch ( getInterpreter().adaptivePredict(_input,201,_ctx) ) {
17188 case 1:
17189 {
17190 setState(2603);
17191 match(LP_);
17192 setState(2604);
17193 columnName();
17194 setState(2605);
17195 match(RP_);
17196 }
17197 break;
17198 }
17199 setState(2612);
17200 _errHandler.sync(this);
17201 _alt = getInterpreter().adaptivePredict(_input,202,_ctx);
17202 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
17203 if ( _alt==1 ) {
17204 {
17205 {
17206 setState(2609);
17207 foreignKeyOnAction();
17208 }
17209 }
17210 }
17211 setState(2614);
17212 _errHandler.sync(this);
17213 _alt = getInterpreter().adaptivePredict(_input,202,_ctx);
17214 }
17215 }
17216 }
17217 catch (RecognitionException re) {
17218 _localctx.exception = re;
17219 _errHandler.reportError(this, re);
17220 _errHandler.recover(this, re);
17221 }
17222 finally {
17223 exitRule();
17224 }
17225 return _localctx;
17226 }
17227
17228 public static class ForeignKeyOnActionContext extends ParserRuleContext {
17229 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17230 public ForeignKeyOnContext foreignKeyOn() {
17231 return getRuleContext(ForeignKeyOnContext.class,0);
17232 }
17233 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
17234 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
17235 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
17236 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
17237 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
17238 public ForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
17239 super(parent, invokingState);
17240 }
17241 @Override public int getRuleIndex() { return RULE_foreignKeyOnAction; }
17242 @Override
17243 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17244 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOnAction(this);
17245 else return visitor.visitChildren(this);
17246 }
17247 }
17248
17249 public final ForeignKeyOnActionContext foreignKeyOnAction() throws RecognitionException {
17250 ForeignKeyOnActionContext _localctx = new ForeignKeyOnActionContext(_ctx, getState());
17251 enterRule(_localctx, 360, RULE_foreignKeyOnAction);
17252 int _la;
17253 try {
17254 setState(2621);
17255 _errHandler.sync(this);
17256 switch (_input.LA(1)) {
17257 case ON:
17258 enterOuterAlt(_localctx, 1);
17259 {
17260 setState(2615);
17261 match(ON);
17262 setState(2616);
17263 _la = _input.LA(1);
17264 if ( !(_la==UPDATE || _la==DELETE) ) {
17265 _errHandler.recoverInline(this);
17266 }
17267 else {
17268 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
17269 _errHandler.reportMatch(this);
17270 consume();
17271 }
17272 setState(2617);
17273 foreignKeyOn();
17274 }
17275 break;
17276 case NOT:
17277 enterOuterAlt(_localctx, 2);
17278 {
17279 setState(2618);
17280 match(NOT);
17281 setState(2619);
17282 match(FOR);
17283 setState(2620);
17284 match(REPLICATION);
17285 }
17286 break;
17287 default:
17288 throw new NoViableAltException(this);
17289 }
17290 }
17291 catch (RecognitionException re) {
17292 _localctx.exception = re;
17293 _errHandler.reportError(this, re);
17294 _errHandler.recover(this, re);
17295 }
17296 finally {
17297 exitRule();
17298 }
17299 return _localctx;
17300 }
17301
17302 public static class ForeignKeyOnContext extends ParserRuleContext {
17303 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
17304 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
17305 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
17306 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
17307 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
17308 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
17309 public ForeignKeyOnContext(ParserRuleContext parent, int invokingState) {
17310 super(parent, invokingState);
17311 }
17312 @Override public int getRuleIndex() { return RULE_foreignKeyOn; }
17313 @Override
17314 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17315 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOn(this);
17316 else return visitor.visitChildren(this);
17317 }
17318 }
17319
17320 public final ForeignKeyOnContext foreignKeyOn() throws RecognitionException {
17321 ForeignKeyOnContext _localctx = new ForeignKeyOnContext(_ctx, getState());
17322 enterRule(_localctx, 362, RULE_foreignKeyOn);
17323 int _la;
17324 try {
17325 setState(2628);
17326 _errHandler.sync(this);
17327 switch (_input.LA(1)) {
17328 case NO:
17329 enterOuterAlt(_localctx, 1);
17330 {
17331 setState(2623);
17332 match(NO);
17333 setState(2624);
17334 match(ACTION);
17335 }
17336 break;
17337 case CASCADE:
17338 enterOuterAlt(_localctx, 2);
17339 {
17340 setState(2625);
17341 match(CASCADE);
17342 }
17343 break;
17344 case SET:
17345 enterOuterAlt(_localctx, 3);
17346 {
17347 setState(2626);
17348 match(SET);
17349 setState(2627);
17350 _la = _input.LA(1);
17351 if ( !(_la==NULL || _la==DEFAULT) ) {
17352 _errHandler.recoverInline(this);
17353 }
17354 else {
17355 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
17356 _errHandler.reportMatch(this);
17357 consume();
17358 }
17359 }
17360 break;
17361 default:
17362 throw new NoViableAltException(this);
17363 }
17364 }
17365 catch (RecognitionException re) {
17366 _localctx.exception = re;
17367 _errHandler.reportError(this, re);
17368 _errHandler.recover(this, re);
17369 }
17370 finally {
17371 exitRule();
17372 }
17373 return _localctx;
17374 }
17375
17376 public static class CheckConstraintContext extends ParserRuleContext {
17377 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
17378 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17379 public ExprContext expr() {
17380 return getRuleContext(ExprContext.class,0);
17381 }
17382 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17383 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
17384 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
17385 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
17386 public CheckConstraintContext(ParserRuleContext parent, int invokingState) {
17387 super(parent, invokingState);
17388 }
17389 @Override public int getRuleIndex() { return RULE_checkConstraint; }
17390 @Override
17391 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17392 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCheckConstraint(this);
17393 else return visitor.visitChildren(this);
17394 }
17395 }
17396
17397 public final CheckConstraintContext checkConstraint() throws RecognitionException {
17398 CheckConstraintContext _localctx = new CheckConstraintContext(_ctx, getState());
17399 enterRule(_localctx, 364, RULE_checkConstraint);
17400 int _la;
17401 try {
17402 enterOuterAlt(_localctx, 1);
17403 {
17404 setState(2630);
17405 match(CHECK);
17406 setState(2634);
17407 _errHandler.sync(this);
17408 _la = _input.LA(1);
17409 if (_la==NOT) {
17410 {
17411 setState(2631);
17412 match(NOT);
17413 setState(2632);
17414 match(FOR);
17415 setState(2633);
17416 match(REPLICATION);
17417 }
17418 }
17419
17420 setState(2636);
17421 match(LP_);
17422 setState(2637);
17423 expr(0);
17424 setState(2638);
17425 match(RP_);
17426 }
17427 }
17428 catch (RecognitionException re) {
17429 _localctx.exception = re;
17430 _errHandler.reportError(this, re);
17431 _errHandler.recover(this, re);
17432 }
17433 finally {
17434 exitRule();
17435 }
17436 return _localctx;
17437 }
17438
17439 public static class ColumnIndexContext extends ParserRuleContext {
17440 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
17441 public IndexNameContext indexName() {
17442 return getRuleContext(IndexNameContext.class,0);
17443 }
17444 public ClusterOptionContext clusterOption() {
17445 return getRuleContext(ClusterOptionContext.class,0);
17446 }
17447 public WithIndexOptionContext withIndexOption() {
17448 return getRuleContext(WithIndexOptionContext.class,0);
17449 }
17450 public IndexOnClauseContext indexOnClause() {
17451 return getRuleContext(IndexOnClauseContext.class,0);
17452 }
17453 public FileStreamOnContext fileStreamOn() {
17454 return getRuleContext(FileStreamOnContext.class,0);
17455 }
17456 public ColumnIndexContext(ParserRuleContext parent, int invokingState) {
17457 super(parent, invokingState);
17458 }
17459 @Override public int getRuleIndex() { return RULE_columnIndex; }
17460 @Override
17461 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17462 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnIndex(this);
17463 else return visitor.visitChildren(this);
17464 }
17465 }
17466
17467 public final ColumnIndexContext columnIndex() throws RecognitionException {
17468 ColumnIndexContext _localctx = new ColumnIndexContext(_ctx, getState());
17469 enterRule(_localctx, 366, RULE_columnIndex);
17470 int _la;
17471 try {
17472 enterOuterAlt(_localctx, 1);
17473 {
17474 setState(2640);
17475 match(INDEX);
17476 setState(2641);
17477 indexName();
17478 setState(2643);
17479 _errHandler.sync(this);
17480 _la = _input.LA(1);
17481 if (_la==CLUSTERED || _la==NONCLUSTERED) {
17482 {
17483 setState(2642);
17484 clusterOption();
17485 }
17486 }
17487
17488 setState(2646);
17489 _errHandler.sync(this);
17490 switch ( getInterpreter().adaptivePredict(_input,207,_ctx) ) {
17491 case 1:
17492 {
17493 setState(2645);
17494 withIndexOption();
17495 }
17496 break;
17497 }
17498 setState(2649);
17499 _errHandler.sync(this);
17500 _la = _input.LA(1);
17501 if (_la==ON) {
17502 {
17503 setState(2648);
17504 indexOnClause();
17505 }
17506 }
17507
17508 setState(2652);
17509 _errHandler.sync(this);
17510 _la = _input.LA(1);
17511 if (_la==FILESTREAM_ON) {
17512 {
17513 setState(2651);
17514 fileStreamOn();
17515 }
17516 }
17517
17518 }
17519 }
17520 catch (RecognitionException re) {
17521 _localctx.exception = re;
17522 _errHandler.reportError(this, re);
17523 _errHandler.recover(this, re);
17524 }
17525 finally {
17526 exitRule();
17527 }
17528 return _localctx;
17529 }
17530
17531 public static class WithIndexOptionContext extends ParserRuleContext {
17532 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
17533 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17534 public List<IndexOptionContext> indexOption() {
17535 return getRuleContexts(IndexOptionContext.class);
17536 }
17537 public IndexOptionContext indexOption(int i) {
17538 return getRuleContext(IndexOptionContext.class,i);
17539 }
17540 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17541 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
17542 public TerminalNode COMMA_(int i) {
17543 return getToken(SQLServerStatementParser.COMMA_, i);
17544 }
17545 public WithIndexOptionContext(ParserRuleContext parent, int invokingState) {
17546 super(parent, invokingState);
17547 }
17548 @Override public int getRuleIndex() { return RULE_withIndexOption; }
17549 @Override
17550 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17551 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithIndexOption(this);
17552 else return visitor.visitChildren(this);
17553 }
17554 }
17555
17556 public final WithIndexOptionContext withIndexOption() throws RecognitionException {
17557 WithIndexOptionContext _localctx = new WithIndexOptionContext(_ctx, getState());
17558 enterRule(_localctx, 368, RULE_withIndexOption);
17559 int _la;
17560 try {
17561 enterOuterAlt(_localctx, 1);
17562 {
17563 setState(2654);
17564 match(WITH);
17565 setState(2655);
17566 match(LP_);
17567 setState(2656);
17568 indexOption();
17569 setState(2661);
17570 _errHandler.sync(this);
17571 _la = _input.LA(1);
17572 while (_la==COMMA_) {
17573 {
17574 {
17575 setState(2657);
17576 match(COMMA_);
17577 setState(2658);
17578 indexOption();
17579 }
17580 }
17581 setState(2663);
17582 _errHandler.sync(this);
17583 _la = _input.LA(1);
17584 }
17585 setState(2664);
17586 match(RP_);
17587 }
17588 }
17589 catch (RecognitionException re) {
17590 _localctx.exception = re;
17591 _errHandler.reportError(this, re);
17592 _errHandler.recover(this, re);
17593 }
17594 finally {
17595 exitRule();
17596 }
17597 return _localctx;
17598 }
17599
17600 public static class IndexOnClauseContext extends ParserRuleContext {
17601 public OnSchemaColumnContext onSchemaColumn() {
17602 return getRuleContext(OnSchemaColumnContext.class,0);
17603 }
17604 public OnFileGroupContext onFileGroup() {
17605 return getRuleContext(OnFileGroupContext.class,0);
17606 }
17607 public OnDefaultContext onDefault() {
17608 return getRuleContext(OnDefaultContext.class,0);
17609 }
17610 public IndexOnClauseContext(ParserRuleContext parent, int invokingState) {
17611 super(parent, invokingState);
17612 }
17613 @Override public int getRuleIndex() { return RULE_indexOnClause; }
17614 @Override
17615 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17616 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOnClause(this);
17617 else return visitor.visitChildren(this);
17618 }
17619 }
17620
17621 public final IndexOnClauseContext indexOnClause() throws RecognitionException {
17622 IndexOnClauseContext _localctx = new IndexOnClauseContext(_ctx, getState());
17623 enterRule(_localctx, 370, RULE_indexOnClause);
17624 try {
17625 setState(2669);
17626 _errHandler.sync(this);
17627 switch ( getInterpreter().adaptivePredict(_input,211,_ctx) ) {
17628 case 1:
17629 enterOuterAlt(_localctx, 1);
17630 {
17631 setState(2666);
17632 onSchemaColumn();
17633 }
17634 break;
17635 case 2:
17636 enterOuterAlt(_localctx, 2);
17637 {
17638 setState(2667);
17639 onFileGroup();
17640 }
17641 break;
17642 case 3:
17643 enterOuterAlt(_localctx, 3);
17644 {
17645 setState(2668);
17646 onDefault();
17647 }
17648 break;
17649 }
17650 }
17651 catch (RecognitionException re) {
17652 _localctx.exception = re;
17653 _errHandler.reportError(this, re);
17654 _errHandler.recover(this, re);
17655 }
17656 finally {
17657 exitRule();
17658 }
17659 return _localctx;
17660 }
17661
17662 public static class OnDefaultContext extends ParserRuleContext {
17663 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17664 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
17665 public OnDefaultContext(ParserRuleContext parent, int invokingState) {
17666 super(parent, invokingState);
17667 }
17668 @Override public int getRuleIndex() { return RULE_onDefault; }
17669 @Override
17670 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17671 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnDefault(this);
17672 else return visitor.visitChildren(this);
17673 }
17674 }
17675
17676 public final OnDefaultContext onDefault() throws RecognitionException {
17677 OnDefaultContext _localctx = new OnDefaultContext(_ctx, getState());
17678 enterRule(_localctx, 372, RULE_onDefault);
17679 try {
17680 enterOuterAlt(_localctx, 1);
17681 {
17682 setState(2671);
17683 match(ON);
17684 setState(2672);
17685 match(DEFAULT);
17686 }
17687 }
17688 catch (RecognitionException re) {
17689 _localctx.exception = re;
17690 _errHandler.reportError(this, re);
17691 _errHandler.recover(this, re);
17692 }
17693 finally {
17694 exitRule();
17695 }
17696 return _localctx;
17697 }
17698
17699 public static class FileStreamOnContext extends ParserRuleContext {
17700 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
17701 public IgnoredIdentifierContext ignoredIdentifier() {
17702 return getRuleContext(IgnoredIdentifierContext.class,0);
17703 }
17704 public SchemaNameContext schemaName() {
17705 return getRuleContext(SchemaNameContext.class,0);
17706 }
17707 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
17708 public FileStreamOnContext(ParserRuleContext parent, int invokingState) {
17709 super(parent, invokingState);
17710 }
17711 @Override public int getRuleIndex() { return RULE_fileStreamOn; }
17712 @Override
17713 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17714 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOn(this);
17715 else return visitor.visitChildren(this);
17716 }
17717 }
17718
17719 public final FileStreamOnContext fileStreamOn() throws RecognitionException {
17720 FileStreamOnContext _localctx = new FileStreamOnContext(_ctx, getState());
17721 enterRule(_localctx, 374, RULE_fileStreamOn);
17722 try {
17723 enterOuterAlt(_localctx, 1);
17724 {
17725 setState(2674);
17726 match(FILESTREAM_ON);
17727 setState(2678);
17728 _errHandler.sync(this);
17729 switch ( getInterpreter().adaptivePredict(_input,212,_ctx) ) {
17730 case 1:
17731 {
17732 setState(2675);
17733 ignoredIdentifier();
17734 }
17735 break;
17736 case 2:
17737 {
17738 setState(2676);
17739 schemaName();
17740 }
17741 break;
17742 case 3:
17743 {
17744 setState(2677);
17745 match(STRING_);
17746 }
17747 break;
17748 }
17749 }
17750 }
17751 catch (RecognitionException re) {
17752 _localctx.exception = re;
17753 _errHandler.reportError(this, re);
17754 _errHandler.recover(this, re);
17755 }
17756 finally {
17757 exitRule();
17758 }
17759 return _localctx;
17760 }
17761
17762 public static class ColumnConstraintsContext extends ParserRuleContext {
17763 public List<ColumnConstraintContext> columnConstraint() {
17764 return getRuleContexts(ColumnConstraintContext.class);
17765 }
17766 public ColumnConstraintContext columnConstraint(int i) {
17767 return getRuleContext(ColumnConstraintContext.class,i);
17768 }
17769 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
17770 public TerminalNode COMMA_(int i) {
17771 return getToken(SQLServerStatementParser.COMMA_, i);
17772 }
17773 public ColumnConstraintsContext(ParserRuleContext parent, int invokingState) {
17774 super(parent, invokingState);
17775 }
17776 @Override public int getRuleIndex() { return RULE_columnConstraints; }
17777 @Override
17778 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17779 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraints(this);
17780 else return visitor.visitChildren(this);
17781 }
17782 }
17783
17784 public final ColumnConstraintsContext columnConstraints() throws RecognitionException {
17785 ColumnConstraintsContext _localctx = new ColumnConstraintsContext(_ctx, getState());
17786 enterRule(_localctx, 376, RULE_columnConstraints);
17787 try {
17788 int _alt;
17789 enterOuterAlt(_localctx, 1);
17790 {
17791 setState(2688);
17792 _errHandler.sync(this);
17793 switch ( getInterpreter().adaptivePredict(_input,214,_ctx) ) {
17794 case 1:
17795 {
17796 setState(2680);
17797 columnConstraint();
17798 setState(2685);
17799 _errHandler.sync(this);
17800 _alt = getInterpreter().adaptivePredict(_input,213,_ctx);
17801 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
17802 if ( _alt==1 ) {
17803 {
17804 {
17805 setState(2681);
17806 match(COMMA_);
17807 setState(2682);
17808 columnConstraint();
17809 }
17810 }
17811 }
17812 setState(2687);
17813 _errHandler.sync(this);
17814 _alt = getInterpreter().adaptivePredict(_input,213,_ctx);
17815 }
17816 }
17817 break;
17818 }
17819 }
17820 }
17821 catch (RecognitionException re) {
17822 _localctx.exception = re;
17823 _errHandler.reportError(this, re);
17824 _errHandler.recover(this, re);
17825 }
17826 finally {
17827 exitRule();
17828 }
17829 return _localctx;
17830 }
17831
17832 public static class ComputedColumnDefinitionContext extends ParserRuleContext {
17833 public ColumnNameContext columnName() {
17834 return getRuleContext(ColumnNameContext.class,0);
17835 }
17836 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
17837 public ExprContext expr() {
17838 return getRuleContext(ExprContext.class,0);
17839 }
17840 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
17841 public ComputedColumnConstraintContext computedColumnConstraint() {
17842 return getRuleContext(ComputedColumnConstraintContext.class,0);
17843 }
17844 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
17845 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
17846 public ComputedColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
17847 super(parent, invokingState);
17848 }
17849 @Override public int getRuleIndex() { return RULE_computedColumnDefinition; }
17850 @Override
17851 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17852 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnDefinition(this);
17853 else return visitor.visitChildren(this);
17854 }
17855 }
17856
17857 public final ComputedColumnDefinitionContext computedColumnDefinition() throws RecognitionException {
17858 ComputedColumnDefinitionContext _localctx = new ComputedColumnDefinitionContext(_ctx, getState());
17859 enterRule(_localctx, 378, RULE_computedColumnDefinition);
17860 int _la;
17861 try {
17862 enterOuterAlt(_localctx, 1);
17863 {
17864 setState(2690);
17865 columnName();
17866 setState(2691);
17867 match(AS);
17868 setState(2692);
17869 expr(0);
17870 setState(2698);
17871 _errHandler.sync(this);
17872 switch ( getInterpreter().adaptivePredict(_input,216,_ctx) ) {
17873 case 1:
17874 {
17875 setState(2693);
17876 match(PERSISTED);
17877 setState(2696);
17878 _errHandler.sync(this);
17879 _la = _input.LA(1);
17880 if (_la==NOT) {
17881 {
17882 setState(2694);
17883 match(NOT);
17884 setState(2695);
17885 match(NULL);
17886 }
17887 }
17888
17889 }
17890 break;
17891 }
17892 setState(2701);
17893 _errHandler.sync(this);
17894 switch ( getInterpreter().adaptivePredict(_input,217,_ctx) ) {
17895 case 1:
17896 {
17897 setState(2700);
17898 computedColumnConstraint();
17899 }
17900 break;
17901 }
17902 }
17903 }
17904 catch (RecognitionException re) {
17905 _localctx.exception = re;
17906 _errHandler.reportError(this, re);
17907 _errHandler.recover(this, re);
17908 }
17909 finally {
17910 exitRule();
17911 }
17912 return _localctx;
17913 }
17914
17915 public static class ColumnSetDefinitionContext extends ParserRuleContext {
17916 public IgnoredIdentifierContext ignoredIdentifier() {
17917 return getRuleContext(IgnoredIdentifierContext.class,0);
17918 }
17919 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
17920 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
17921 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
17922 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
17923 public ColumnSetDefinitionContext(ParserRuleContext parent, int invokingState) {
17924 super(parent, invokingState);
17925 }
17926 @Override public int getRuleIndex() { return RULE_columnSetDefinition; }
17927 @Override
17928 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17929 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnSetDefinition(this);
17930 else return visitor.visitChildren(this);
17931 }
17932 }
17933
17934 public final ColumnSetDefinitionContext columnSetDefinition() throws RecognitionException {
17935 ColumnSetDefinitionContext _localctx = new ColumnSetDefinitionContext(_ctx, getState());
17936 enterRule(_localctx, 380, RULE_columnSetDefinition);
17937 try {
17938 enterOuterAlt(_localctx, 1);
17939 {
17940 setState(2703);
17941 ignoredIdentifier();
17942 setState(2704);
17943 match(IDENTIFIER_);
17944 setState(2705);
17945 match(COLUMN_SET);
17946 setState(2706);
17947 match(FOR);
17948 setState(2707);
17949 match(ALL_SPARSE_COLUMNS);
17950 }
17951 }
17952 catch (RecognitionException re) {
17953 _localctx.exception = re;
17954 _errHandler.reportError(this, re);
17955 _errHandler.recover(this, re);
17956 }
17957 finally {
17958 exitRule();
17959 }
17960 return _localctx;
17961 }
17962
17963 public static class TableConstraintContext extends ParserRuleContext {
17964 public TablePrimaryConstraintContext tablePrimaryConstraint() {
17965 return getRuleContext(TablePrimaryConstraintContext.class,0);
17966 }
17967 public TableForeignKeyConstraintContext tableForeignKeyConstraint() {
17968 return getRuleContext(TableForeignKeyConstraintContext.class,0);
17969 }
17970 public CheckConstraintContext checkConstraint() {
17971 return getRuleContext(CheckConstraintContext.class,0);
17972 }
17973 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
17974 public ConstraintNameContext constraintName() {
17975 return getRuleContext(ConstraintNameContext.class,0);
17976 }
17977 public TableConstraintContext(ParserRuleContext parent, int invokingState) {
17978 super(parent, invokingState);
17979 }
17980 @Override public int getRuleIndex() { return RULE_tableConstraint; }
17981 @Override
17982 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17983 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableConstraint(this);
17984 else return visitor.visitChildren(this);
17985 }
17986 }
17987
17988 public final TableConstraintContext tableConstraint() throws RecognitionException {
17989 TableConstraintContext _localctx = new TableConstraintContext(_ctx, getState());
17990 enterRule(_localctx, 382, RULE_tableConstraint);
17991 int _la;
17992 try {
17993 enterOuterAlt(_localctx, 1);
17994 {
17995 setState(2711);
17996 _errHandler.sync(this);
17997 _la = _input.LA(1);
17998 if (_la==CONSTRAINT) {
17999 {
18000 setState(2709);
18001 match(CONSTRAINT);
18002 setState(2710);
18003 constraintName();
18004 }
18005 }
18006
18007 setState(2716);
18008 _errHandler.sync(this);
18009 switch (_input.LA(1)) {
18010 case PRIMARY:
18011 case UNIQUE:
18012 case KEY:
18013 {
18014 setState(2713);
18015 tablePrimaryConstraint();
18016 }
18017 break;
18018 case LP_:
18019 case FOREIGN:
18020 {
18021 setState(2714);
18022 tableForeignKeyConstraint();
18023 }
18024 break;
18025 case CHECK:
18026 {
18027 setState(2715);
18028 checkConstraint();
18029 }
18030 break;
18031 default:
18032 throw new NoViableAltException(this);
18033 }
18034 }
18035 }
18036 catch (RecognitionException re) {
18037 _localctx.exception = re;
18038 _errHandler.reportError(this, re);
18039 _errHandler.recover(this, re);
18040 }
18041 finally {
18042 exitRule();
18043 }
18044 return _localctx;
18045 }
18046
18047 public static class TablePrimaryConstraintContext extends ParserRuleContext {
18048 public PrimaryKeyUniqueContext primaryKeyUnique() {
18049 return getRuleContext(PrimaryKeyUniqueContext.class,0);
18050 }
18051 public DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() {
18052 return getRuleContext(DiskTablePrimaryConstraintOptionContext.class,0);
18053 }
18054 public MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() {
18055 return getRuleContext(MemoryTablePrimaryConstraintOptionContext.class,0);
18056 }
18057 public TablePrimaryConstraintContext(ParserRuleContext parent, int invokingState) {
18058 super(parent, invokingState);
18059 }
18060 @Override public int getRuleIndex() { return RULE_tablePrimaryConstraint; }
18061 @Override
18062 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18063 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTablePrimaryConstraint(this);
18064 else return visitor.visitChildren(this);
18065 }
18066 }
18067
18068 public final TablePrimaryConstraintContext tablePrimaryConstraint() throws RecognitionException {
18069 TablePrimaryConstraintContext _localctx = new TablePrimaryConstraintContext(_ctx, getState());
18070 enterRule(_localctx, 384, RULE_tablePrimaryConstraint);
18071 try {
18072 enterOuterAlt(_localctx, 1);
18073 {
18074 setState(2718);
18075 primaryKeyUnique();
18076 setState(2721);
18077 _errHandler.sync(this);
18078 switch ( getInterpreter().adaptivePredict(_input,220,_ctx) ) {
18079 case 1:
18080 {
18081 setState(2719);
18082 diskTablePrimaryConstraintOption();
18083 }
18084 break;
18085 case 2:
18086 {
18087 setState(2720);
18088 memoryTablePrimaryConstraintOption();
18089 }
18090 break;
18091 }
18092 }
18093 }
18094 catch (RecognitionException re) {
18095 _localctx.exception = re;
18096 _errHandler.reportError(this, re);
18097 _errHandler.recover(this, re);
18098 }
18099 finally {
18100 exitRule();
18101 }
18102 return _localctx;
18103 }
18104
18105 public static class PrimaryKeyUniqueContext extends ParserRuleContext {
18106 public PrimaryKeyContext primaryKey() {
18107 return getRuleContext(PrimaryKeyContext.class,0);
18108 }
18109 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
18110 public PrimaryKeyUniqueContext(ParserRuleContext parent, int invokingState) {
18111 super(parent, invokingState);
18112 }
18113 @Override public int getRuleIndex() { return RULE_primaryKeyUnique; }
18114 @Override
18115 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18116 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyUnique(this);
18117 else return visitor.visitChildren(this);
18118 }
18119 }
18120
18121 public final PrimaryKeyUniqueContext primaryKeyUnique() throws RecognitionException {
18122 PrimaryKeyUniqueContext _localctx = new PrimaryKeyUniqueContext(_ctx, getState());
18123 enterRule(_localctx, 386, RULE_primaryKeyUnique);
18124 try {
18125 setState(2725);
18126 _errHandler.sync(this);
18127 switch (_input.LA(1)) {
18128 case PRIMARY:
18129 case KEY:
18130 enterOuterAlt(_localctx, 1);
18131 {
18132 setState(2723);
18133 primaryKey();
18134 }
18135 break;
18136 case UNIQUE:
18137 enterOuterAlt(_localctx, 2);
18138 {
18139 setState(2724);
18140 match(UNIQUE);
18141 }
18142 break;
18143 default:
18144 throw new NoViableAltException(this);
18145 }
18146 }
18147 catch (RecognitionException re) {
18148 _localctx.exception = re;
18149 _errHandler.reportError(this, re);
18150 _errHandler.recover(this, re);
18151 }
18152 finally {
18153 exitRule();
18154 }
18155 return _localctx;
18156 }
18157
18158 public static class DiskTablePrimaryConstraintOptionContext extends ParserRuleContext {
18159 public ColumnNamesContext columnNames() {
18160 return getRuleContext(ColumnNamesContext.class,0);
18161 }
18162 public ClusterOptionContext clusterOption() {
18163 return getRuleContext(ClusterOptionContext.class,0);
18164 }
18165 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
18166 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
18167 }
18168 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
18169 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
18170 }
18171 public DiskTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
18172 super(parent, invokingState);
18173 }
18174 @Override public int getRuleIndex() { return RULE_diskTablePrimaryConstraintOption; }
18175 @Override
18176 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18177 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryConstraintOption(this);
18178 else return visitor.visitChildren(this);
18179 }
18180 }
18181
18182 public final DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() throws RecognitionException {
18183 DiskTablePrimaryConstraintOptionContext _localctx = new DiskTablePrimaryConstraintOptionContext(_ctx, getState());
18184 enterRule(_localctx, 388, RULE_diskTablePrimaryConstraintOption);
18185 int _la;
18186 try {
18187 enterOuterAlt(_localctx, 1);
18188 {
18189 setState(2728);
18190 _errHandler.sync(this);
18191 _la = _input.LA(1);
18192 if (_la==CLUSTERED || _la==NONCLUSTERED) {
18193 {
18194 setState(2727);
18195 clusterOption();
18196 }
18197 }
18198
18199 setState(2730);
18200 columnNames();
18201 setState(2732);
18202 _errHandler.sync(this);
18203 switch ( getInterpreter().adaptivePredict(_input,223,_ctx) ) {
18204 case 1:
18205 {
18206 setState(2731);
18207 primaryKeyWithClause();
18208 }
18209 break;
18210 }
18211 setState(2735);
18212 _errHandler.sync(this);
18213 _la = _input.LA(1);
18214 if (_la==ON) {
18215 {
18216 setState(2734);
18217 primaryKeyOnClause();
18218 }
18219 }
18220
18221 }
18222 }
18223 catch (RecognitionException re) {
18224 _localctx.exception = re;
18225 _errHandler.reportError(this, re);
18226 _errHandler.recover(this, re);
18227 }
18228 finally {
18229 exitRule();
18230 }
18231 return _localctx;
18232 }
18233
18234 public static class MemoryTablePrimaryConstraintOptionContext extends ParserRuleContext {
18235 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
18236 public ColumnNamesContext columnNames() {
18237 return getRuleContext(ColumnNamesContext.class,0);
18238 }
18239 public HashWithBucketContext hashWithBucket() {
18240 return getRuleContext(HashWithBucketContext.class,0);
18241 }
18242 public MemoryTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
18243 super(parent, invokingState);
18244 }
18245 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryConstraintOption; }
18246 @Override
18247 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18248 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryConstraintOption(this);
18249 else return visitor.visitChildren(this);
18250 }
18251 }
18252
18253 public final MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() throws RecognitionException {
18254 MemoryTablePrimaryConstraintOptionContext _localctx = new MemoryTablePrimaryConstraintOptionContext(_ctx, getState());
18255 enterRule(_localctx, 390, RULE_memoryTablePrimaryConstraintOption);
18256 try {
18257 enterOuterAlt(_localctx, 1);
18258 {
18259 setState(2737);
18260 match(NONCLUSTERED);
18261 setState(2740);
18262 _errHandler.sync(this);
18263 switch (_input.LA(1)) {
18264 case LP_:
18265 {
18266 setState(2738);
18267 columnNames();
18268 }
18269 break;
18270 case HASH:
18271 {
18272 setState(2739);
18273 hashWithBucket();
18274 }
18275 break;
18276 default:
18277 throw new NoViableAltException(this);
18278 }
18279 }
18280 }
18281 catch (RecognitionException re) {
18282 _localctx.exception = re;
18283 _errHandler.reportError(this, re);
18284 _errHandler.recover(this, re);
18285 }
18286 finally {
18287 exitRule();
18288 }
18289 return _localctx;
18290 }
18291
18292 public static class HashWithBucketContext extends ParserRuleContext {
18293 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
18294 public ColumnNamesContext columnNames() {
18295 return getRuleContext(ColumnNamesContext.class,0);
18296 }
18297 public WithBucketContext withBucket() {
18298 return getRuleContext(WithBucketContext.class,0);
18299 }
18300 public HashWithBucketContext(ParserRuleContext parent, int invokingState) {
18301 super(parent, invokingState);
18302 }
18303 @Override public int getRuleIndex() { return RULE_hashWithBucket; }
18304 @Override
18305 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18306 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashWithBucket(this);
18307 else return visitor.visitChildren(this);
18308 }
18309 }
18310
18311 public final HashWithBucketContext hashWithBucket() throws RecognitionException {
18312 HashWithBucketContext _localctx = new HashWithBucketContext(_ctx, getState());
18313 enterRule(_localctx, 392, RULE_hashWithBucket);
18314 try {
18315 enterOuterAlt(_localctx, 1);
18316 {
18317 setState(2742);
18318 match(HASH);
18319 setState(2743);
18320 columnNames();
18321 setState(2744);
18322 withBucket();
18323 }
18324 }
18325 catch (RecognitionException re) {
18326 _localctx.exception = re;
18327 _errHandler.reportError(this, re);
18328 _errHandler.recover(this, re);
18329 }
18330 finally {
18331 exitRule();
18332 }
18333 return _localctx;
18334 }
18335
18336 public static class TableForeignKeyConstraintContext extends ParserRuleContext {
18337 public List<ColumnNamesContext> columnNames() {
18338 return getRuleContexts(ColumnNamesContext.class);
18339 }
18340 public ColumnNamesContext columnNames(int i) {
18341 return getRuleContext(ColumnNamesContext.class,i);
18342 }
18343 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
18344 public TableNameContext tableName() {
18345 return getRuleContext(TableNameContext.class,0);
18346 }
18347 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
18348 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
18349 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
18350 return getRuleContexts(ForeignKeyOnActionContext.class);
18351 }
18352 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
18353 return getRuleContext(ForeignKeyOnActionContext.class,i);
18354 }
18355 public TableForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
18356 super(parent, invokingState);
18357 }
18358 @Override public int getRuleIndex() { return RULE_tableForeignKeyConstraint; }
18359 @Override
18360 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18361 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableForeignKeyConstraint(this);
18362 else return visitor.visitChildren(this);
18363 }
18364 }
18365
18366 public final TableForeignKeyConstraintContext tableForeignKeyConstraint() throws RecognitionException {
18367 TableForeignKeyConstraintContext _localctx = new TableForeignKeyConstraintContext(_ctx, getState());
18368 enterRule(_localctx, 394, RULE_tableForeignKeyConstraint);
18369 int _la;
18370 try {
18371 enterOuterAlt(_localctx, 1);
18372 {
18373 setState(2748);
18374 _errHandler.sync(this);
18375 _la = _input.LA(1);
18376 if (_la==FOREIGN) {
18377 {
18378 setState(2746);
18379 match(FOREIGN);
18380 setState(2747);
18381 match(KEY);
18382 }
18383 }
18384
18385 setState(2750);
18386 columnNames();
18387 setState(2751);
18388 match(REFERENCES);
18389 setState(2752);
18390 tableName();
18391 setState(2753);
18392 columnNames();
18393 setState(2757);
18394 _errHandler.sync(this);
18395 _la = _input.LA(1);
18396 while (_la==ON || _la==NOT) {
18397 {
18398 {
18399 setState(2754);
18400 foreignKeyOnAction();
18401 }
18402 }
18403 setState(2759);
18404 _errHandler.sync(this);
18405 _la = _input.LA(1);
18406 }
18407 }
18408 }
18409 catch (RecognitionException re) {
18410 _localctx.exception = re;
18411 _errHandler.reportError(this, re);
18412 _errHandler.recover(this, re);
18413 }
18414 finally {
18415 exitRule();
18416 }
18417 return _localctx;
18418 }
18419
18420 public static class TableIndexContext extends ParserRuleContext {
18421 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
18422 public IndexNameContext indexName() {
18423 return getRuleContext(IndexNameContext.class,0);
18424 }
18425 public IndexNameOptionContext indexNameOption() {
18426 return getRuleContext(IndexNameOptionContext.class,0);
18427 }
18428 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
18429 public IndexOptionsContext indexOptions() {
18430 return getRuleContext(IndexOptionsContext.class,0);
18431 }
18432 public IndexOnClauseContext indexOnClause() {
18433 return getRuleContext(IndexOnClauseContext.class,0);
18434 }
18435 public FileStreamOnContext fileStreamOn() {
18436 return getRuleContext(FileStreamOnContext.class,0);
18437 }
18438 public TableIndexContext(ParserRuleContext parent, int invokingState) {
18439 super(parent, invokingState);
18440 }
18441 @Override public int getRuleIndex() { return RULE_tableIndex; }
18442 @Override
18443 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18444 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableIndex(this);
18445 else return visitor.visitChildren(this);
18446 }
18447 }
18448
18449 public final TableIndexContext tableIndex() throws RecognitionException {
18450 TableIndexContext _localctx = new TableIndexContext(_ctx, getState());
18451 enterRule(_localctx, 396, RULE_tableIndex);
18452 int _la;
18453 try {
18454 enterOuterAlt(_localctx, 1);
18455 {
18456 setState(2760);
18457 match(INDEX);
18458 setState(2761);
18459 indexName();
18460 setState(2762);
18461 indexNameOption();
18462 setState(2765);
18463 _errHandler.sync(this);
18464 _la = _input.LA(1);
18465 if (_la==WITH) {
18466 {
18467 setState(2763);
18468 match(WITH);
18469 setState(2764);
18470 indexOptions();
18471 }
18472 }
18473
18474 setState(2768);
18475 _errHandler.sync(this);
18476 _la = _input.LA(1);
18477 if (_la==ON) {
18478 {
18479 setState(2767);
18480 indexOnClause();
18481 }
18482 }
18483
18484 setState(2771);
18485 _errHandler.sync(this);
18486 _la = _input.LA(1);
18487 if (_la==FILESTREAM_ON) {
18488 {
18489 setState(2770);
18490 fileStreamOn();
18491 }
18492 }
18493
18494 }
18495 }
18496 catch (RecognitionException re) {
18497 _localctx.exception = re;
18498 _errHandler.reportError(this, re);
18499 _errHandler.recover(this, re);
18500 }
18501 finally {
18502 exitRule();
18503 }
18504 return _localctx;
18505 }
18506
18507 public static class IndexNameOptionContext extends ParserRuleContext {
18508 public ColumnNamesContext columnNames() {
18509 return getRuleContext(ColumnNamesContext.class,0);
18510 }
18511 public ClusterOptionContext clusterOption() {
18512 return getRuleContext(ClusterOptionContext.class,0);
18513 }
18514 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
18515 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
18516 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
18517 public IndexNameOptionContext(ParserRuleContext parent, int invokingState) {
18518 super(parent, invokingState);
18519 }
18520 @Override public int getRuleIndex() { return RULE_indexNameOption; }
18521 @Override
18522 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18523 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNameOption(this);
18524 else return visitor.visitChildren(this);
18525 }
18526 }
18527
18528 public final IndexNameOptionContext indexNameOption() throws RecognitionException {
18529 IndexNameOptionContext _localctx = new IndexNameOptionContext(_ctx, getState());
18530 enterRule(_localctx, 398, RULE_indexNameOption);
18531 int _la;
18532 try {
18533 setState(2784);
18534 _errHandler.sync(this);
18535 switch ( getInterpreter().adaptivePredict(_input,233,_ctx) ) {
18536 case 1:
18537 enterOuterAlt(_localctx, 1);
18538 {
18539 setState(2774);
18540 _errHandler.sync(this);
18541 _la = _input.LA(1);
18542 if (_la==CLUSTERED || _la==NONCLUSTERED) {
18543 {
18544 setState(2773);
18545 clusterOption();
18546 }
18547 }
18548
18549 setState(2776);
18550 columnNames();
18551 }
18552 break;
18553 case 2:
18554 enterOuterAlt(_localctx, 2);
18555 {
18556 setState(2777);
18557 match(CLUSTERED);
18558 setState(2778);
18559 match(COLUMNSTORE);
18560 }
18561 break;
18562 case 3:
18563 enterOuterAlt(_localctx, 3);
18564 {
18565 setState(2780);
18566 _errHandler.sync(this);
18567 _la = _input.LA(1);
18568 if (_la==NONCLUSTERED) {
18569 {
18570 setState(2779);
18571 match(NONCLUSTERED);
18572 }
18573 }
18574
18575 setState(2782);
18576 match(COLUMNSTORE);
18577 setState(2783);
18578 columnNames();
18579 }
18580 break;
18581 }
18582 }
18583 catch (RecognitionException re) {
18584 _localctx.exception = re;
18585 _errHandler.reportError(this, re);
18586 _errHandler.recover(this, re);
18587 }
18588 finally {
18589 exitRule();
18590 }
18591 return _localctx;
18592 }
18593
18594 public static class IndexOptionsContext extends ParserRuleContext {
18595 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18596 public List<IndexOptionContext> indexOption() {
18597 return getRuleContexts(IndexOptionContext.class);
18598 }
18599 public IndexOptionContext indexOption(int i) {
18600 return getRuleContext(IndexOptionContext.class,i);
18601 }
18602 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18603 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18604 public TerminalNode COMMA_(int i) {
18605 return getToken(SQLServerStatementParser.COMMA_, i);
18606 }
18607 public IndexOptionsContext(ParserRuleContext parent, int invokingState) {
18608 super(parent, invokingState);
18609 }
18610 @Override public int getRuleIndex() { return RULE_indexOptions; }
18611 @Override
18612 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18613 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOptions(this);
18614 else return visitor.visitChildren(this);
18615 }
18616 }
18617
18618 public final IndexOptionsContext indexOptions() throws RecognitionException {
18619 IndexOptionsContext _localctx = new IndexOptionsContext(_ctx, getState());
18620 enterRule(_localctx, 400, RULE_indexOptions);
18621 int _la;
18622 try {
18623 enterOuterAlt(_localctx, 1);
18624 {
18625 setState(2786);
18626 match(LP_);
18627 setState(2787);
18628 indexOption();
18629 setState(2792);
18630 _errHandler.sync(this);
18631 _la = _input.LA(1);
18632 while (_la==COMMA_) {
18633 {
18634 {
18635 setState(2788);
18636 match(COMMA_);
18637 setState(2789);
18638 indexOption();
18639 }
18640 }
18641 setState(2794);
18642 _errHandler.sync(this);
18643 _la = _input.LA(1);
18644 }
18645 setState(2795);
18646 match(RP_);
18647 }
18648 }
18649 catch (RecognitionException re) {
18650 _localctx.exception = re;
18651 _errHandler.reportError(this, re);
18652 _errHandler.recover(this, re);
18653 }
18654 finally {
18655 exitRule();
18656 }
18657 return _localctx;
18658 }
18659
18660 public static class PeriodClauseContext extends ParserRuleContext {
18661 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
18662 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
18663 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
18664 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18665 public List<ColumnNameContext> columnName() {
18666 return getRuleContexts(ColumnNameContext.class);
18667 }
18668 public ColumnNameContext columnName(int i) {
18669 return getRuleContext(ColumnNameContext.class,i);
18670 }
18671 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
18672 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18673 public PeriodClauseContext(ParserRuleContext parent, int invokingState) {
18674 super(parent, invokingState);
18675 }
18676 @Override public int getRuleIndex() { return RULE_periodClause; }
18677 @Override
18678 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18679 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPeriodClause(this);
18680 else return visitor.visitChildren(this);
18681 }
18682 }
18683
18684 public final PeriodClauseContext periodClause() throws RecognitionException {
18685 PeriodClauseContext _localctx = new PeriodClauseContext(_ctx, getState());
18686 enterRule(_localctx, 402, RULE_periodClause);
18687 try {
18688 enterOuterAlt(_localctx, 1);
18689 {
18690 setState(2797);
18691 match(PERIOD);
18692 setState(2798);
18693 match(FOR);
18694 setState(2799);
18695 match(SYSTEM_TIME);
18696 setState(2800);
18697 match(LP_);
18698 setState(2801);
18699 columnName();
18700 setState(2802);
18701 match(COMMA_);
18702 setState(2803);
18703 columnName();
18704 setState(2804);
18705 match(RP_);
18706 }
18707 }
18708 catch (RecognitionException re) {
18709 _localctx.exception = re;
18710 _errHandler.reportError(this, re);
18711 _errHandler.recover(this, re);
18712 }
18713 finally {
18714 exitRule();
18715 }
18716 return _localctx;
18717 }
18718
18719 public static class PartitionSchemeContext extends ParserRuleContext {
18720 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18721 public SchemaNameContext schemaName() {
18722 return getRuleContext(SchemaNameContext.class,0);
18723 }
18724 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18725 public ColumnNameContext columnName() {
18726 return getRuleContext(ColumnNameContext.class,0);
18727 }
18728 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18729 public IgnoredIdentifierContext ignoredIdentifier() {
18730 return getRuleContext(IgnoredIdentifierContext.class,0);
18731 }
18732 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
18733 public PartitionSchemeContext(ParserRuleContext parent, int invokingState) {
18734 super(parent, invokingState);
18735 }
18736 @Override public int getRuleIndex() { return RULE_partitionScheme; }
18737 @Override
18738 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18739 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionScheme(this);
18740 else return visitor.visitChildren(this);
18741 }
18742 }
18743
18744 public final PartitionSchemeContext partitionScheme() throws RecognitionException {
18745 PartitionSchemeContext _localctx = new PartitionSchemeContext(_ctx, getState());
18746 enterRule(_localctx, 404, RULE_partitionScheme);
18747 int _la;
18748 try {
18749 enterOuterAlt(_localctx, 1);
18750 {
18751 setState(2816);
18752 _errHandler.sync(this);
18753 _la = _input.LA(1);
18754 if (_la==ON) {
18755 {
18756 setState(2806);
18757 match(ON);
18758 setState(2814);
18759 _errHandler.sync(this);
18760 switch ( getInterpreter().adaptivePredict(_input,235,_ctx) ) {
18761 case 1:
18762 {
18763 setState(2807);
18764 schemaName();
18765 setState(2808);
18766 match(LP_);
18767 setState(2809);
18768 columnName();
18769 setState(2810);
18770 match(RP_);
18771 }
18772 break;
18773 case 2:
18774 {
18775 setState(2812);
18776 ignoredIdentifier();
18777 }
18778 break;
18779 case 3:
18780 {
18781 setState(2813);
18782 match(STRING_);
18783 }
18784 break;
18785 }
18786 }
18787 }
18788
18789 }
18790 }
18791 catch (RecognitionException re) {
18792 _localctx.exception = re;
18793 _errHandler.reportError(this, re);
18794 _errHandler.recover(this, re);
18795 }
18796 finally {
18797 exitRule();
18798 }
18799 return _localctx;
18800 }
18801
18802 public static class FileGroupContext extends ParserRuleContext {
18803 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
18804 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
18805 public TableOptionsContext tableOptions() {
18806 return getRuleContext(TableOptionsContext.class,0);
18807 }
18808 public List<IgnoredIdentifierContext> ignoredIdentifier() {
18809 return getRuleContexts(IgnoredIdentifierContext.class);
18810 }
18811 public IgnoredIdentifierContext ignoredIdentifier(int i) {
18812 return getRuleContext(IgnoredIdentifierContext.class,i);
18813 }
18814 public List<TerminalNode> STRING_() { return getTokens(SQLServerStatementParser.STRING_); }
18815 public TerminalNode STRING_(int i) {
18816 return getToken(SQLServerStatementParser.STRING_, i);
18817 }
18818 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
18819 public SchemaNameContext schemaName() {
18820 return getRuleContext(SchemaNameContext.class,0);
18821 }
18822 public FileGroupContext(ParserRuleContext parent, int invokingState) {
18823 super(parent, invokingState);
18824 }
18825 @Override public int getRuleIndex() { return RULE_fileGroup; }
18826 @Override
18827 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18828 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileGroup(this);
18829 else return visitor.visitChildren(this);
18830 }
18831 }
18832
18833 public final FileGroupContext fileGroup() throws RecognitionException {
18834 FileGroupContext _localctx = new FileGroupContext(_ctx, getState());
18835 enterRule(_localctx, 406, RULE_fileGroup);
18836 int _la;
18837 try {
18838 enterOuterAlt(_localctx, 1);
18839 {
18840 setState(2823);
18841 _errHandler.sync(this);
18842 _la = _input.LA(1);
18843 if (_la==TEXTIMAGE_ON) {
18844 {
18845 setState(2818);
18846 match(TEXTIMAGE_ON);
18847 setState(2821);
18848 _errHandler.sync(this);
18849 switch (_input.LA(1)) {
18850 case IDENTIFIER_:
18851 {
18852 setState(2819);
18853 ignoredIdentifier();
18854 }
18855 break;
18856 case STRING_:
18857 {
18858 setState(2820);
18859 match(STRING_);
18860 }
18861 break;
18862 default:
18863 throw new NoViableAltException(this);
18864 }
18865 }
18866 }
18867
18868 setState(2832);
18869 _errHandler.sync(this);
18870 _la = _input.LA(1);
18871 if (_la==FILESTREAM_ON || _la==IDENTIFIER_) {
18872 {
18873 setState(2830);
18874 _errHandler.sync(this);
18875 switch (_input.LA(1)) {
18876 case FILESTREAM_ON:
18877 {
18878 setState(2825);
18879 match(FILESTREAM_ON);
18880 {
18881 setState(2826);
18882 schemaName();
18883 }
18884 }
18885 break;
18886 case IDENTIFIER_:
18887 {
18888 setState(2827);
18889 ignoredIdentifier();
18890 setState(2828);
18891 match(STRING_);
18892 }
18893 break;
18894 default:
18895 throw new NoViableAltException(this);
18896 }
18897 }
18898 }
18899
18900 setState(2836);
18901 _errHandler.sync(this);
18902 switch ( getInterpreter().adaptivePredict(_input,241,_ctx) ) {
18903 case 1:
18904 {
18905 setState(2834);
18906 match(WITH);
18907 setState(2835);
18908 tableOptions();
18909 }
18910 break;
18911 }
18912 }
18913 }
18914 catch (RecognitionException re) {
18915 _localctx.exception = re;
18916 _errHandler.reportError(this, re);
18917 _errHandler.recover(this, re);
18918 }
18919 finally {
18920 exitRule();
18921 }
18922 return _localctx;
18923 }
18924
18925 public static class TableOptionsContext extends ParserRuleContext {
18926 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18927 public List<TableOptionContext> tableOption() {
18928 return getRuleContexts(TableOptionContext.class);
18929 }
18930 public TableOptionContext tableOption(int i) {
18931 return getRuleContext(TableOptionContext.class,i);
18932 }
18933 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18934 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18935 public TerminalNode COMMA_(int i) {
18936 return getToken(SQLServerStatementParser.COMMA_, i);
18937 }
18938 public TableOptionsContext(ParserRuleContext parent, int invokingState) {
18939 super(parent, invokingState);
18940 }
18941 @Override public int getRuleIndex() { return RULE_tableOptions; }
18942 @Override
18943 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18944 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOptions(this);
18945 else return visitor.visitChildren(this);
18946 }
18947 }
18948
18949 public final TableOptionsContext tableOptions() throws RecognitionException {
18950 TableOptionsContext _localctx = new TableOptionsContext(_ctx, getState());
18951 enterRule(_localctx, 408, RULE_tableOptions);
18952 int _la;
18953 try {
18954 enterOuterAlt(_localctx, 1);
18955 {
18956 setState(2838);
18957 match(LP_);
18958 setState(2839);
18959 tableOption();
18960 setState(2844);
18961 _errHandler.sync(this);
18962 _la = _input.LA(1);
18963 while (_la==COMMA_) {
18964 {
18965 {
18966 setState(2840);
18967 match(COMMA_);
18968 setState(2841);
18969 tableOption();
18970 }
18971 }
18972 setState(2846);
18973 _errHandler.sync(this);
18974 _la = _input.LA(1);
18975 }
18976 setState(2847);
18977 match(RP_);
18978 }
18979 }
18980 catch (RecognitionException re) {
18981 _localctx.exception = re;
18982 _errHandler.reportError(this, re);
18983 _errHandler.recover(this, re);
18984 }
18985 finally {
18986 exitRule();
18987 }
18988 return _localctx;
18989 }
18990
18991 public static class TableOptionContext extends ParserRuleContext {
18992 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
18993 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
18994 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
18995 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
18996 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
18997 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18998 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
18999 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19000 public PartitionExpressionsContext partitionExpressions() {
19001 return getRuleContext(PartitionExpressionsContext.class,0);
19002 }
19003 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19004 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
19005 public IgnoredIdentifierContext ignoredIdentifier() {
19006 return getRuleContext(IgnoredIdentifierContext.class,0);
19007 }
19008 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
19009 public CollationNameContext collationName() {
19010 return getRuleContext(CollationNameContext.class,0);
19011 }
19012 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
19013 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
19014 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
19015 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
19016 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
19017 public OnHistoryTableClauseContext onHistoryTableClause() {
19018 return getRuleContext(OnHistoryTableClauseContext.class,0);
19019 }
19020 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
19021 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
19022 public MigrationState_Context migrationState_() {
19023 return getRuleContext(MigrationState_Context.class,0);
19024 }
19025 public TableStretchOptionsContext tableStretchOptions() {
19026 return getRuleContext(TableStretchOptionsContext.class,0);
19027 }
19028 public TableOperationOptionContext tableOperationOption() {
19029 return getRuleContext(TableOperationOptionContext.class,0);
19030 }
19031 public DistributionOptionContext distributionOption() {
19032 return getRuleContext(DistributionOptionContext.class,0);
19033 }
19034 public DataWareHouseTableOptionContext dataWareHouseTableOption() {
19035 return getRuleContext(DataWareHouseTableOptionContext.class,0);
19036 }
19037 public DataDelectionOptionContext dataDelectionOption() {
19038 return getRuleContext(DataDelectionOptionContext.class,0);
19039 }
19040 public DataWareHousePartitionOptionContext dataWareHousePartitionOption() {
19041 return getRuleContext(DataWareHousePartitionOptionContext.class,0);
19042 }
19043 public TableOptionContext(ParserRuleContext parent, int invokingState) {
19044 super(parent, invokingState);
19045 }
19046 @Override public int getRuleIndex() { return RULE_tableOption; }
19047 @Override
19048 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19049 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOption(this);
19050 else return visitor.visitChildren(this);
19051 }
19052 }
19053
19054 public final TableOptionContext tableOption() throws RecognitionException {
19055 TableOptionContext _localctx = new TableOptionContext(_ctx, getState());
19056 enterRule(_localctx, 410, RULE_tableOption);
19057 int _la;
19058 try {
19059 setState(2899);
19060 _errHandler.sync(this);
19061 switch ( getInterpreter().adaptivePredict(_input,248,_ctx) ) {
19062 case 1:
19063 enterOuterAlt(_localctx, 1);
19064 {
19065 setState(2849);
19066 match(DATA_COMPRESSION);
19067 setState(2850);
19068 match(EQ_);
19069 setState(2851);
19070 _la = _input.LA(1);
19071 if ( !(((((_la - 241)) & ~0x3f) == 0 && ((1L << (_la - 241)) & ((1L << (ROW - 241)) | (1L << (NONE - 241)) | (1L << (PAGE - 241)))) != 0)) ) {
19072 _errHandler.recoverInline(this);
19073 }
19074 else {
19075 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19076 _errHandler.reportMatch(this);
19077 consume();
19078 }
19079 setState(2858);
19080 _errHandler.sync(this);
19081 _la = _input.LA(1);
19082 if (_la==ON) {
19083 {
19084 setState(2852);
19085 match(ON);
19086 setState(2853);
19087 match(PARTITIONS);
19088 setState(2854);
19089 match(LP_);
19090 setState(2855);
19091 partitionExpressions();
19092 setState(2856);
19093 match(RP_);
19094 }
19095 }
19096
19097 }
19098 break;
19099 case 2:
19100 enterOuterAlt(_localctx, 2);
19101 {
19102 setState(2860);
19103 match(FILETABLE_DIRECTORY);
19104 setState(2861);
19105 match(EQ_);
19106 setState(2862);
19107 ignoredIdentifier();
19108 }
19109 break;
19110 case 3:
19111 enterOuterAlt(_localctx, 3);
19112 {
19113 setState(2863);
19114 match(FILETABLE_COLLATE_FILENAME);
19115 setState(2864);
19116 match(EQ_);
19117 setState(2867);
19118 _errHandler.sync(this);
19119 switch (_input.LA(1)) {
19120 case IDENTIFIER_:
19121 case STRING_:
19122 {
19123 setState(2865);
19124 collationName();
19125 }
19126 break;
19127 case DATABASE_DEAULT:
19128 {
19129 setState(2866);
19130 match(DATABASE_DEAULT);
19131 }
19132 break;
19133 default:
19134 throw new NoViableAltException(this);
19135 }
19136 }
19137 break;
19138 case 4:
19139 enterOuterAlt(_localctx, 4);
19140 {
19141 setState(2869);
19142 match(FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME);
19143 setState(2870);
19144 match(EQ_);
19145 setState(2871);
19146 ignoredIdentifier();
19147 }
19148 break;
19149 case 5:
19150 enterOuterAlt(_localctx, 5);
19151 {
19152 setState(2872);
19153 match(FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME);
19154 setState(2873);
19155 match(EQ_);
19156 setState(2874);
19157 ignoredIdentifier();
19158 }
19159 break;
19160 case 6:
19161 enterOuterAlt(_localctx, 6);
19162 {
19163 setState(2875);
19164 match(FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME);
19165 setState(2876);
19166 match(EQ_);
19167 setState(2877);
19168 ignoredIdentifier();
19169 }
19170 break;
19171 case 7:
19172 enterOuterAlt(_localctx, 7);
19173 {
19174 setState(2878);
19175 match(SYSTEM_VERSIONING);
19176 setState(2879);
19177 match(EQ_);
19178 setState(2880);
19179 match(ON);
19180 setState(2882);
19181 _errHandler.sync(this);
19182 _la = _input.LA(1);
19183 if (_la==LP_) {
19184 {
19185 setState(2881);
19186 onHistoryTableClause();
19187 }
19188 }
19189
19190 }
19191 break;
19192 case 8:
19193 enterOuterAlt(_localctx, 8);
19194 {
19195 setState(2884);
19196 match(REMOTE_DATA_ARCHIVE);
19197 setState(2885);
19198 match(EQ_);
19199 setState(2892);
19200 _errHandler.sync(this);
19201 switch (_input.LA(1)) {
19202 case ON:
19203 {
19204 setState(2886);
19205 match(ON);
19206 setState(2888);
19207 _errHandler.sync(this);
19208 _la = _input.LA(1);
19209 if (_la==LP_) {
19210 {
19211 setState(2887);
19212 tableStretchOptions();
19213 }
19214 }
19215
19216 }
19217 break;
19218 case OFF:
19219 {
19220 setState(2890);
19221 match(OFF);
19222 setState(2891);
19223 migrationState_();
19224 }
19225 break;
19226 default:
19227 throw new NoViableAltException(this);
19228 }
19229 }
19230 break;
19231 case 9:
19232 enterOuterAlt(_localctx, 9);
19233 {
19234 setState(2894);
19235 tableOperationOption();
19236 }
19237 break;
19238 case 10:
19239 enterOuterAlt(_localctx, 10);
19240 {
19241 setState(2895);
19242 distributionOption();
19243 }
19244 break;
19245 case 11:
19246 enterOuterAlt(_localctx, 11);
19247 {
19248 setState(2896);
19249 dataWareHouseTableOption();
19250 }
19251 break;
19252 case 12:
19253 enterOuterAlt(_localctx, 12);
19254 {
19255 setState(2897);
19256 dataDelectionOption();
19257 }
19258 break;
19259 case 13:
19260 enterOuterAlt(_localctx, 13);
19261 {
19262 setState(2898);
19263 dataWareHousePartitionOption();
19264 }
19265 break;
19266 }
19267 }
19268 catch (RecognitionException re) {
19269 _localctx.exception = re;
19270 _errHandler.reportError(this, re);
19271 _errHandler.recover(this, re);
19272 }
19273 finally {
19274 exitRule();
19275 }
19276 return _localctx;
19277 }
19278
19279 public static class DataDelectionOptionContext extends ParserRuleContext {
19280 public TerminalNode DATA_DELETION() { return getToken(SQLServerStatementParser.DATA_DELETION, 0); }
19281 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
19282 public TerminalNode EQ_(int i) {
19283 return getToken(SQLServerStatementParser.EQ_, i);
19284 }
19285 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
19286 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19287 public TerminalNode FILTER_COLUMN() { return getToken(SQLServerStatementParser.FILTER_COLUMN, 0); }
19288 public ColumnNameContext columnName() {
19289 return getRuleContext(ColumnNameContext.class,0);
19290 }
19291 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
19292 public TerminalNode RETENTION_PERIOD() { return getToken(SQLServerStatementParser.RETENTION_PERIOD, 0); }
19293 public HistoryRetentionPeriodContext historyRetentionPeriod() {
19294 return getRuleContext(HistoryRetentionPeriodContext.class,0);
19295 }
19296 public DataDelectionOptionContext(ParserRuleContext parent, int invokingState) {
19297 super(parent, invokingState);
19298 }
19299 @Override public int getRuleIndex() { return RULE_dataDelectionOption; }
19300 @Override
19301 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19302 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataDelectionOption(this);
19303 else return visitor.visitChildren(this);
19304 }
19305 }
19306
19307 public final DataDelectionOptionContext dataDelectionOption() throws RecognitionException {
19308 DataDelectionOptionContext _localctx = new DataDelectionOptionContext(_ctx, getState());
19309 enterRule(_localctx, 412, RULE_dataDelectionOption);
19310 try {
19311 enterOuterAlt(_localctx, 1);
19312 {
19313 setState(2901);
19314 match(DATA_DELETION);
19315 setState(2902);
19316 match(EQ_);
19317 setState(2903);
19318 match(ON);
19319 {
19320 setState(2904);
19321 match(LP_);
19322 setState(2905);
19323 match(FILTER_COLUMN);
19324 setState(2906);
19325 match(EQ_);
19326 setState(2907);
19327 columnName();
19328 setState(2908);
19329 match(COMMA_);
19330 setState(2909);
19331 match(RETENTION_PERIOD);
19332 setState(2910);
19333 match(EQ_);
19334 setState(2911);
19335 historyRetentionPeriod();
19336 }
19337 }
19338 }
19339 catch (RecognitionException re) {
19340 _localctx.exception = re;
19341 _errHandler.reportError(this, re);
19342 _errHandler.recover(this, re);
19343 }
19344 finally {
19345 exitRule();
19346 }
19347 return _localctx;
19348 }
19349
19350 public static class TableStretchOptionsContext extends ParserRuleContext {
19351 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19352 public List<TableStretchOptionContext> tableStretchOption() {
19353 return getRuleContexts(TableStretchOptionContext.class);
19354 }
19355 public TableStretchOptionContext tableStretchOption(int i) {
19356 return getRuleContext(TableStretchOptionContext.class,i);
19357 }
19358 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19359 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19360 public TerminalNode COMMA_(int i) {
19361 return getToken(SQLServerStatementParser.COMMA_, i);
19362 }
19363 public TableStretchOptionsContext(ParserRuleContext parent, int invokingState) {
19364 super(parent, invokingState);
19365 }
19366 @Override public int getRuleIndex() { return RULE_tableStretchOptions; }
19367 @Override
19368 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19369 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOptions(this);
19370 else return visitor.visitChildren(this);
19371 }
19372 }
19373
19374 public final TableStretchOptionsContext tableStretchOptions() throws RecognitionException {
19375 TableStretchOptionsContext _localctx = new TableStretchOptionsContext(_ctx, getState());
19376 enterRule(_localctx, 414, RULE_tableStretchOptions);
19377 int _la;
19378 try {
19379 enterOuterAlt(_localctx, 1);
19380 {
19381 setState(2913);
19382 match(LP_);
19383 setState(2914);
19384 tableStretchOption();
19385 setState(2919);
19386 _errHandler.sync(this);
19387 _la = _input.LA(1);
19388 while (_la==COMMA_) {
19389 {
19390 {
19391 setState(2915);
19392 match(COMMA_);
19393 setState(2916);
19394 tableStretchOption();
19395 }
19396 }
19397 setState(2921);
19398 _errHandler.sync(this);
19399 _la = _input.LA(1);
19400 }
19401 setState(2922);
19402 match(RP_);
19403 }
19404 }
19405 catch (RecognitionException re) {
19406 _localctx.exception = re;
19407 _errHandler.reportError(this, re);
19408 _errHandler.recover(this, re);
19409 }
19410 finally {
19411 exitRule();
19412 }
19413 return _localctx;
19414 }
19415
19416 public static class TableStretchOptionContext extends ParserRuleContext {
19417 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
19418 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
19419 public TerminalNode EQ_(int i) {
19420 return getToken(SQLServerStatementParser.EQ_, i);
19421 }
19422 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
19423 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
19424 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
19425 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
19426 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
19427 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
19428 public FunctionCallContext functionCall() {
19429 return getRuleContext(FunctionCallContext.class,0);
19430 }
19431 public TableStretchOptionContext(ParserRuleContext parent, int invokingState) {
19432 super(parent, invokingState);
19433 }
19434 @Override public int getRuleIndex() { return RULE_tableStretchOption; }
19435 @Override
19436 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19437 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOption(this);
19438 else return visitor.visitChildren(this);
19439 }
19440 }
19441
19442 public final TableStretchOptionContext tableStretchOption() throws RecognitionException {
19443 TableStretchOptionContext _localctx = new TableStretchOptionContext(_ctx, getState());
19444 enterRule(_localctx, 416, RULE_tableStretchOption);
19445 int _la;
19446 try {
19447 enterOuterAlt(_localctx, 1);
19448 {
19449 setState(2931);
19450 _errHandler.sync(this);
19451 _la = _input.LA(1);
19452 if (_la==FILTER_PREDICATE) {
19453 {
19454 setState(2924);
19455 match(FILTER_PREDICATE);
19456 setState(2925);
19457 match(EQ_);
19458 setState(2928);
19459 _errHandler.sync(this);
19460 switch (_input.LA(1)) {
19461 case NULL:
19462 {
19463 setState(2926);
19464 match(NULL);
19465 }
19466 break;
19467 case TRUNCATE:
19468 case SCHEMA:
19469 case COLUMNS:
19470 case PRECISION:
19471 case FUNCTION:
19472 case TRIGGER:
19473 case CAST:
19474 case SUBSTRING:
19475 case OFF:
19476 case IF:
19477 case GROUP:
19478 case LIMIT:
19479 case OFFSET:
19480 case SAVEPOINT:
19481 case BOOLEAN:
19482 case CHAR:
19483 case ARRAY:
19484 case INTERVAL:
19485 case DATE:
19486 case LOCALTIME:
19487 case LOCALTIMESTAMP:
19488 case QUARTER:
19489 case MONTH:
19490 case WEEK:
19491 case DAY:
19492 case SECOND:
19493 case MICROSECOND:
19494 case MAX:
19495 case MIN:
19496 case SUM:
19497 case COUNT:
19498 case AVG:
19499 case ENABLE:
19500 case DISABLE:
19501 case INSTANCE:
19502 case DO:
19503 case DEFINER:
19504 case SQL:
19505 case CASCADED:
19506 case LOCAL:
19507 case NEXT:
19508 case NAME:
19509 case INTEGER:
19510 case TYPE:
19511 case TEXT:
19512 case VIEWS:
19513 case READ_ONLY:
19514 case DATABASE:
19515 case RETURNS:
19516 case DATEPART:
19517 case PASSWORD:
19518 case BINARY:
19519 case HIDDEN_:
19520 case MOD:
19521 case PARTITION:
19522 case PARTITIONS:
19523 case TOP:
19524 case ROW:
19525 case ROWS:
19526 case XOR:
19527 case ALWAYS:
19528 case ROLE:
19529 case START:
19530 case ALGORITHM:
19531 case AUTO:
19532 case BLOCKERS:
19533 case CLUSTERED:
19534 case NONCLUSTERED:
19535 case COLUMNSTORE:
19536 case CONTENT:
19537 case CONVERT:
19538 case YEARS:
19539 case MONTHS:
19540 case WEEKS:
19541 case DAYS:
19542 case MINUTES:
19543 case DENY:
19544 case DETERMINISTIC:
19545 case DISTRIBUTION:
19546 case DOCUMENT:
19547 case DURABILITY:
19548 case ENCRYPTED:
19549 case FILESTREAM:
19550 case FILETABLE:
19551 case FILLFACTOR:
19552 case FOLLOWING:
19553 case HASH:
19554 case HEAP:
19555 case INBOUND:
19556 case OUTBOUND:
19557 case UNBOUNDED:
19558 case INFINITE:
19559 case LOGIN:
19560 case MASKED:
19561 case MAXDOP:
19562 case MOVE:
19563 case NOCHECK:
19564 case OBJECT:
19565 case ONLINE:
19566 case OVER:
19567 case PAGE:
19568 case PAUSED:
19569 case PERIOD:
19570 case PERSISTED:
19571 case PRECEDING:
19572 case RANDOMIZED:
19573 case RANGE:
19574 case REBUILD:
19575 case REPLICATE:
19576 case REPLICATION:
19577 case RESUMABLE:
19578 case ROWGUIDCOL:
19579 case SAVE:
19580 case SELF:
19581 case SPARSE:
19582 case SWITCH:
19583 case TRAN:
19584 case TRANCOUNT:
19585 case CONTROL:
19586 case CONCAT:
19587 case TAKE:
19588 case OWNERSHIP:
19589 case DEFINITION:
19590 case APPLICATION:
19591 case ASSEMBLY:
19592 case SYMMETRIC:
19593 case ASYMMETRIC:
19594 case SERVER:
19595 case RECEIVE:
19596 case CHANGE:
19597 case TRACE:
19598 case TRACKING:
19599 case RESOURCES:
19600 case SETTINGS:
19601 case STATE:
19602 case AVAILABILITY:
19603 case CREDENTIAL:
19604 case ENDPOINT:
19605 case EVENT:
19606 case NOTIFICATION:
19607 case LINKED:
19608 case AUDIT:
19609 case DDL:
19610 case XML:
19611 case IMPERSONATE:
19612 case SECURABLES:
19613 case AUTHENTICATE:
19614 case EXTERNAL:
19615 case ACCESS:
19616 case ADMINISTER:
19617 case BULK:
19618 case OPERATIONS:
19619 case UNSAFE:
19620 case SHUTDOWN:
19621 case SCOPED:
19622 case CONFIGURATION:
19623 case DATASPACE:
19624 case SERVICE:
19625 case CERTIFICATE:
19626 case CONTRACT:
19627 case ENCRYPTION:
19628 case MASTER:
19629 case DATA:
19630 case SOURCE:
19631 case FILE:
19632 case FORMAT:
19633 case LIBRARY:
19634 case FULLTEXT:
19635 case MASK:
19636 case UNMASK:
19637 case MESSAGE:
19638 case REMOTE:
19639 case BINDING:
19640 case ROUTE:
19641 case SECURITY:
19642 case POLICY:
19643 case AGGREGATE:
19644 case QUEUE:
19645 case RULE:
19646 case SYNONYM:
19647 case COLLECTION:
19648 case SCRIPT:
19649 case KILL:
19650 case BACKUP:
19651 case LOG:
19652 case SHOWPLAN:
19653 case SUBSCRIBE:
19654 case QUERY:
19655 case NOTIFICATIONS:
19656 case CHECKPOINT:
19657 case SEQUENCE:
19658 case ABORT_AFTER_WAIT:
19659 case ALLOW_PAGE_LOCKS:
19660 case ALLOW_ROW_LOCKS:
19661 case ALL_SPARSE_COLUMNS:
19662 case BUCKET_COUNT:
19663 case COLUMNSTORE_ARCHIVE:
19664 case COLUMN_ENCRYPTION_KEY:
19665 case COLUMN_SET:
19666 case COMPRESSION_DELAY:
19667 case DATABASE_DEAULT:
19668 case DATA_COMPRESSION:
19669 case DATA_CONSISTENCY_CHECK:
19670 case ENCRYPTION_TYPE:
19671 case SYSTEM_TIME:
19672 case SYSTEM_VERSIONING:
19673 case TEXTIMAGE_ON:
19674 case WAIT_AT_LOW_PRIORITY:
19675 case STATISTICS_INCREMENTAL:
19676 case STATISTICS_NORECOMPUTE:
19677 case ROUND_ROBIN:
19678 case SCHEMA_AND_DATA:
19679 case SCHEMA_ONLY:
19680 case SORT_IN_TEMPDB:
19681 case IGNORE_DUP_KEY:
19682 case IMPLICIT_TRANSACTIONS:
19683 case MAX_DURATION:
19684 case MEMORY_OPTIMIZED:
19685 case MIGRATION_STATE:
19686 case PAD_INDEX:
19687 case REMOTE_DATA_ARCHIVE:
19688 case FILESTREAM_ON:
19689 case FILETABLE_COLLATE_FILENAME:
19690 case FILETABLE_DIRECTORY:
19691 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
19692 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
19693 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
19694 case FILTER_PREDICATE:
19695 case HISTORY_RETENTION_PERIOD:
19696 case HISTORY_TABLE:
19697 case LOCK_ESCALATION:
19698 case DROP_EXISTING:
19699 case ROW_NUMBER:
19700 case FIRST:
19701 case DATETIME2:
19702 case OUTPUT:
19703 case INSERTED:
19704 case DELETED:
19705 case FILENAME:
19706 case SIZE:
19707 case MAXSIZE:
19708 case FILEGROWTH:
19709 case UNLIMITED:
19710 case KB:
19711 case MB:
19712 case GB:
19713 case TB:
19714 case CONTAINS:
19715 case MEMORY_OPTIMIZED_DATA:
19716 case FILEGROUP:
19717 case NON_TRANSACTED_ACCESS:
19718 case DB_CHAINING:
19719 case TRUSTWORTHY:
19720 case FORWARD_ONLY:
19721 case KEYSET:
19722 case FAST_FORWARD:
19723 case SCROLL_LOCKS:
19724 case OPTIMISTIC:
19725 case TYPE_WARNING:
19726 case SCHEMABINDING:
19727 case CALLER:
19728 case OWNER:
19729 case SNAPSHOT:
19730 case REPEATABLE:
19731 case SERIALIZABLE:
19732 case NATIVE_COMPILATION:
19733 case VIEW_METADATA:
19734 case INSTEAD:
19735 case APPEND:
19736 case INCREMENT:
19737 case CACHE:
19738 case MINVALUE:
19739 case MAXVALUE:
19740 case RESTART:
19741 case LOB_COMPACTION:
19742 case COMPRESS_ALL_ROW_GROUPS:
19743 case REORGANIZE:
19744 case RESUME:
19745 case PAUSE:
19746 case ABORT:
19747 case ACCELERATED_DATABASE_RECOVERY:
19748 case PERSISTENT_VERSION_STORE_FILEGROUP:
19749 case IMMEDIATE:
19750 case NO_WAIT:
19751 case TARGET_RECOVERY_TIME:
19752 case SECONDS:
19753 case HONOR_BROKER_PRIORITY:
19754 case ERROR_BROKER_CONVERSATIONS:
19755 case NEW_BROKER:
19756 case DISABLE_BROKER:
19757 case ENABLE_BROKER:
19758 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
19759 case READ_COMMITTED_SNAPSHOT:
19760 case ALLOW_SNAPSHOT_ISOLATION:
19761 case RECURSIVE_TRIGGERS:
19762 case QUOTED_IDENTIFIER:
19763 case NUMERIC_ROUNDABORT:
19764 case CONCAT_NULL_YIELDS_NULL:
19765 case COMPATIBILITY_LEVEL:
19766 case ARITHABORT:
19767 case ANSI_WARNINGS:
19768 case ANSI_PADDING:
19769 case ANSI_NULLS:
19770 case ANSI_NULL_DEFAULT:
19771 case PAGE_VERIFY:
19772 case CHECKSUM:
19773 case TORN_PAGE_DETECTION:
19774 case BULK_LOGGED:
19775 case RECOVERY:
19776 case TOTAL_EXECUTION_CPU_TIME_MS:
19777 case TOTAL_COMPILE_CPU_TIME_MS:
19778 case STALE_CAPTURE_POLICY_THRESHOLD:
19779 case EXECUTION_COUNT:
19780 case QUERY_CAPTURE_POLICY:
19781 case WAIT_STATS_CAPTURE_MODE:
19782 case MAX_PLANS_PER_QUERY:
19783 case QUERY_CAPTURE_MODE:
19784 case SIZE_BASED_CLEANUP_MODE:
19785 case INTERVAL_LENGTH_MINUTES:
19786 case MAX_STORAGE_SIZE_MB:
19787 case DATA_FLUSH_INTERVAL_SECONDS:
19788 case CLEANUP_POLICY:
19789 case CUSTOM:
19790 case STALE_QUERY_THRESHOLD_DAYS:
19791 case OPERATION_MODE:
19792 case QUERY_STORE:
19793 case CURSOR_DEFAULT:
19794 case GLOBAL:
19795 case CURSOR_CLOSE_ON_COMMIT:
19796 case HOURS:
19797 case CHANGE_RETENTION:
19798 case AUTO_CLEANUP:
19799 case CHANGE_TRACKING:
19800 case AUTOMATIC_TUNING:
19801 case FORCE_LAST_GOOD_PLAN:
19802 case AUTO_UPDATE_STATISTICS_ASYNC:
19803 case AUTO_UPDATE_STATISTICS:
19804 case AUTO_SHRINK:
19805 case AUTO_CREATE_STATISTICS:
19806 case INCREMENTAL:
19807 case AUTO_CLOSE:
19808 case DATA_RETENTION:
19809 case TEMPORAL_HISTORY_RETENTION:
19810 case EDITION:
19811 case MIXED_PAGE_ALLOCATION:
19812 case DISABLED:
19813 case ALLOWED:
19814 case HADR:
19815 case MULTI_USER:
19816 case RESTRICTED_USER:
19817 case SINGLE_USER:
19818 case OFFLINE:
19819 case EMERGENCY:
19820 case SUSPEND:
19821 case DATE_CORRELATION_OPTIMIZATION:
19822 case ELASTIC_POOL:
19823 case SERVICE_OBJECTIVE:
19824 case DATABASE_NAME:
19825 case ALLOW_CONNECTIONS:
19826 case GEO:
19827 case NAMED:
19828 case DATEFIRST:
19829 case BACKUP_STORAGE_REDUNDANCY:
19830 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
19831 case SECONDARY:
19832 case FAILOVER:
19833 case DEFAULT_FULLTEXT_LANGUAGE:
19834 case DEFAULT_LANGUAGE:
19835 case INLINE:
19836 case NESTED_TRIGGERS:
19837 case TRANSFORM_NOISE_WORDS:
19838 case TWO_DIGIT_YEAR_CUTOFF:
19839 case PERSISTENT_LOG_BUFFER:
19840 case DIRECTORY_NAME:
19841 case DATEFORMAT:
19842 case DELAYED_DURABILITY:
19843 case AUTHORIZATION:
19844 case TRANSFER:
19845 case PROVIDER:
19846 case SEARCH:
19847 case MEMBER:
19848 case OPENJSON:
19849 case OPENROWSET:
19850 case IDENTIFIER_:
19851 case DELIMITED_IDENTIFIER_:
19852 {
19853 setState(2927);
19854 functionCall();
19855 }
19856 break;
19857 default:
19858 throw new NoViableAltException(this);
19859 }
19860 setState(2930);
19861 match(COMMA_);
19862 }
19863 }
19864
19865 setState(2933);
19866 match(MIGRATION_STATE);
19867 setState(2934);
19868 match(EQ_);
19869 setState(2935);
19870 _la = _input.LA(1);
19871 if ( !(((((_la - 286)) & ~0x3f) == 0 && ((1L << (_la - 286)) & ((1L << (INBOUND - 286)) | (1L << (OUTBOUND - 286)) | (1L << (PAUSED - 286)))) != 0)) ) {
19872 _errHandler.recoverInline(this);
19873 }
19874 else {
19875 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19876 _errHandler.reportMatch(this);
19877 consume();
19878 }
19879 }
19880 }
19881 catch (RecognitionException re) {
19882 _localctx.exception = re;
19883 _errHandler.reportError(this, re);
19884 _errHandler.recover(this, re);
19885 }
19886 finally {
19887 exitRule();
19888 }
19889 return _localctx;
19890 }
19891
19892 public static class MigrationState_Context extends ParserRuleContext {
19893 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19894 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
19895 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
19896 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
19897 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19898 public MigrationState_Context(ParserRuleContext parent, int invokingState) {
19899 super(parent, invokingState);
19900 }
19901 @Override public int getRuleIndex() { return RULE_migrationState_; }
19902 @Override
19903 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19904 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMigrationState_(this);
19905 else return visitor.visitChildren(this);
19906 }
19907 }
19908
19909 public final MigrationState_Context migrationState_() throws RecognitionException {
19910 MigrationState_Context _localctx = new MigrationState_Context(_ctx, getState());
19911 enterRule(_localctx, 418, RULE_migrationState_);
19912 try {
19913 enterOuterAlt(_localctx, 1);
19914 {
19915 setState(2937);
19916 match(LP_);
19917 setState(2938);
19918 match(MIGRATION_STATE);
19919 setState(2939);
19920 match(EQ_);
19921 setState(2940);
19922 match(PAUSED);
19923 setState(2941);
19924 match(RP_);
19925 }
19926 }
19927 catch (RecognitionException re) {
19928 _localctx.exception = re;
19929 _errHandler.reportError(this, re);
19930 _errHandler.recover(this, re);
19931 }
19932 finally {
19933 exitRule();
19934 }
19935 return _localctx;
19936 }
19937
19938 public static class TableOperationOptionContext extends ParserRuleContext {
19939 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
19940 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
19941 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
19942 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
19943 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
19944 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
19945 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
19946 public OnHistoryTableClauseContext onHistoryTableClause() {
19947 return getRuleContext(OnHistoryTableClauseContext.class,0);
19948 }
19949 public TableOperationOptionContext(ParserRuleContext parent, int invokingState) {
19950 super(parent, invokingState);
19951 }
19952 @Override public int getRuleIndex() { return RULE_tableOperationOption; }
19953 @Override
19954 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19955 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOperationOption(this);
19956 else return visitor.visitChildren(this);
19957 }
19958 }
19959
19960 public final TableOperationOptionContext tableOperationOption() throws RecognitionException {
19961 TableOperationOptionContext _localctx = new TableOperationOptionContext(_ctx, getState());
19962 enterRule(_localctx, 420, RULE_tableOperationOption);
19963 int _la;
19964 try {
19965 setState(2955);
19966 _errHandler.sync(this);
19967 switch (_input.LA(1)) {
19968 case MEMORY_OPTIMIZED:
19969 enterOuterAlt(_localctx, 1);
19970 {
19971 {
19972 setState(2943);
19973 match(MEMORY_OPTIMIZED);
19974 setState(2944);
19975 match(EQ_);
19976 setState(2945);
19977 match(ON);
19978 }
19979 }
19980 break;
19981 case DURABILITY:
19982 enterOuterAlt(_localctx, 2);
19983 {
19984 {
19985 setState(2946);
19986 match(DURABILITY);
19987 setState(2947);
19988 match(EQ_);
19989 setState(2948);
19990 _la = _input.LA(1);
19991 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
19992 _errHandler.recoverInline(this);
19993 }
19994 else {
19995 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19996 _errHandler.reportMatch(this);
19997 consume();
19998 }
19999 }
20000 }
20001 break;
20002 case SYSTEM_VERSIONING:
20003 enterOuterAlt(_localctx, 3);
20004 {
20005 {
20006 setState(2949);
20007 match(SYSTEM_VERSIONING);
20008 setState(2950);
20009 match(EQ_);
20010 setState(2951);
20011 match(ON);
20012 setState(2953);
20013 _errHandler.sync(this);
20014 _la = _input.LA(1);
20015 if (_la==LP_) {
20016 {
20017 setState(2952);
20018 onHistoryTableClause();
20019 }
20020 }
20021
20022 }
20023 }
20024 break;
20025 default:
20026 throw new NoViableAltException(this);
20027 }
20028 }
20029 catch (RecognitionException re) {
20030 _localctx.exception = re;
20031 _errHandler.reportError(this, re);
20032 _errHandler.recover(this, re);
20033 }
20034 finally {
20035 exitRule();
20036 }
20037 return _localctx;
20038 }
20039
20040 public static class DistributionOptionContext extends ParserRuleContext {
20041 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
20042 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20043 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
20044 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20045 public ColumnNameContext columnName() {
20046 return getRuleContext(ColumnNameContext.class,0);
20047 }
20048 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20049 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
20050 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
20051 public DistributionOptionContext(ParserRuleContext parent, int invokingState) {
20052 super(parent, invokingState);
20053 }
20054 @Override public int getRuleIndex() { return RULE_distributionOption; }
20055 @Override
20056 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20057 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistributionOption(this);
20058 else return visitor.visitChildren(this);
20059 }
20060 }
20061
20062 public final DistributionOptionContext distributionOption() throws RecognitionException {
20063 DistributionOptionContext _localctx = new DistributionOptionContext(_ctx, getState());
20064 enterRule(_localctx, 422, RULE_distributionOption);
20065 try {
20066 enterOuterAlt(_localctx, 1);
20067 {
20068 setState(2957);
20069 match(DISTRIBUTION);
20070 setState(2958);
20071 match(EQ_);
20072 setState(2966);
20073 _errHandler.sync(this);
20074 switch (_input.LA(1)) {
20075 case HASH:
20076 {
20077 setState(2959);
20078 match(HASH);
20079 setState(2960);
20080 match(LP_);
20081 setState(2961);
20082 columnName();
20083 setState(2962);
20084 match(RP_);
20085 }
20086 break;
20087 case ROUND_ROBIN:
20088 {
20089 setState(2964);
20090 match(ROUND_ROBIN);
20091 }
20092 break;
20093 case REPLICATE:
20094 {
20095 setState(2965);
20096 match(REPLICATE);
20097 }
20098 break;
20099 default:
20100 throw new NoViableAltException(this);
20101 }
20102 }
20103 }
20104 catch (RecognitionException re) {
20105 _localctx.exception = re;
20106 _errHandler.reportError(this, re);
20107 _errHandler.recover(this, re);
20108 }
20109 finally {
20110 exitRule();
20111 }
20112 return _localctx;
20113 }
20114
20115 public static class DataWareHouseTableOptionContext extends ParserRuleContext {
20116 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
20117 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
20118 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
20119 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
20120 public ColumnNamesContext columnNames() {
20121 return getRuleContext(ColumnNamesContext.class,0);
20122 }
20123 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
20124 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20125 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20126 public List<ColumnNameContext> columnName() {
20127 return getRuleContexts(ColumnNameContext.class);
20128 }
20129 public ColumnNameContext columnName(int i) {
20130 return getRuleContext(ColumnNameContext.class,i);
20131 }
20132 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20133 public TerminalNode COMMA_(int i) {
20134 return getToken(SQLServerStatementParser.COMMA_, i);
20135 }
20136 public List<TerminalNode> ASC() { return getTokens(SQLServerStatementParser.ASC); }
20137 public TerminalNode ASC(int i) {
20138 return getToken(SQLServerStatementParser.ASC, i);
20139 }
20140 public List<TerminalNode> DESC() { return getTokens(SQLServerStatementParser.DESC); }
20141 public TerminalNode DESC(int i) {
20142 return getToken(SQLServerStatementParser.DESC, i);
20143 }
20144 public DataWareHouseTableOptionContext(ParserRuleContext parent, int invokingState) {
20145 super(parent, invokingState);
20146 }
20147 @Override public int getRuleIndex() { return RULE_dataWareHouseTableOption; }
20148 @Override
20149 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20150 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHouseTableOption(this);
20151 else return visitor.visitChildren(this);
20152 }
20153 }
20154
20155 public final DataWareHouseTableOptionContext dataWareHouseTableOption() throws RecognitionException {
20156 DataWareHouseTableOptionContext _localctx = new DataWareHouseTableOptionContext(_ctx, getState());
20157 enterRule(_localctx, 424, RULE_dataWareHouseTableOption);
20158 int _la;
20159 try {
20160 setState(2996);
20161 _errHandler.sync(this);
20162 switch ( getInterpreter().adaptivePredict(_input,258,_ctx) ) {
20163 case 1:
20164 enterOuterAlt(_localctx, 1);
20165 {
20166 setState(2968);
20167 match(CLUSTERED);
20168 setState(2969);
20169 match(COLUMNSTORE);
20170 setState(2970);
20171 match(INDEX);
20172 }
20173 break;
20174 case 2:
20175 enterOuterAlt(_localctx, 2);
20176 {
20177 setState(2971);
20178 match(CLUSTERED);
20179 setState(2972);
20180 match(COLUMNSTORE);
20181 setState(2973);
20182 match(INDEX);
20183 setState(2974);
20184 match(ORDER);
20185 setState(2975);
20186 columnNames();
20187 }
20188 break;
20189 case 3:
20190 enterOuterAlt(_localctx, 3);
20191 {
20192 setState(2976);
20193 match(HEAP);
20194 }
20195 break;
20196 case 4:
20197 enterOuterAlt(_localctx, 4);
20198 {
20199 setState(2977);
20200 match(CLUSTERED);
20201 setState(2978);
20202 match(INDEX);
20203 setState(2979);
20204 match(LP_);
20205 {
20206 setState(2980);
20207 columnName();
20208 setState(2982);
20209 _errHandler.sync(this);
20210 _la = _input.LA(1);
20211 if (_la==ASC || _la==DESC) {
20212 {
20213 setState(2981);
20214 _la = _input.LA(1);
20215 if ( !(_la==ASC || _la==DESC) ) {
20216 _errHandler.recoverInline(this);
20217 }
20218 else {
20219 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20220 _errHandler.reportMatch(this);
20221 consume();
20222 }
20223 }
20224 }
20225
20226 }
20227 setState(2991);
20228 _errHandler.sync(this);
20229 _la = _input.LA(1);
20230 while (_la==COMMA_) {
20231 {
20232 {
20233 setState(2984);
20234 match(COMMA_);
20235 {
20236 setState(2985);
20237 columnName();
20238 setState(2987);
20239 _errHandler.sync(this);
20240 _la = _input.LA(1);
20241 if (_la==ASC || _la==DESC) {
20242 {
20243 setState(2986);
20244 _la = _input.LA(1);
20245 if ( !(_la==ASC || _la==DESC) ) {
20246 _errHandler.recoverInline(this);
20247 }
20248 else {
20249 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20250 _errHandler.reportMatch(this);
20251 consume();
20252 }
20253 }
20254 }
20255
20256 }
20257 }
20258 }
20259 setState(2993);
20260 _errHandler.sync(this);
20261 _la = _input.LA(1);
20262 }
20263 setState(2994);
20264 match(RP_);
20265 }
20266 break;
20267 }
20268 }
20269 catch (RecognitionException re) {
20270 _localctx.exception = re;
20271 _errHandler.reportError(this, re);
20272 _errHandler.recover(this, re);
20273 }
20274 finally {
20275 exitRule();
20276 }
20277 return _localctx;
20278 }
20279
20280 public static class DataWareHousePartitionOptionContext extends ParserRuleContext {
20281 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
20282 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
20283 public TerminalNode LP_(int i) {
20284 return getToken(SQLServerStatementParser.LP_, i);
20285 }
20286 public ColumnNameContext columnName() {
20287 return getRuleContext(ColumnNameContext.class,0);
20288 }
20289 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
20290 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
20291 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
20292 public List<SimpleExprContext> simpleExpr() {
20293 return getRuleContexts(SimpleExprContext.class);
20294 }
20295 public SimpleExprContext simpleExpr(int i) {
20296 return getRuleContext(SimpleExprContext.class,i);
20297 }
20298 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
20299 public TerminalNode RP_(int i) {
20300 return getToken(SQLServerStatementParser.RP_, i);
20301 }
20302 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20303 public TerminalNode COMMA_(int i) {
20304 return getToken(SQLServerStatementParser.COMMA_, i);
20305 }
20306 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
20307 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
20308 public DataWareHousePartitionOptionContext(ParserRuleContext parent, int invokingState) {
20309 super(parent, invokingState);
20310 }
20311 @Override public int getRuleIndex() { return RULE_dataWareHousePartitionOption; }
20312 @Override
20313 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20314 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHousePartitionOption(this);
20315 else return visitor.visitChildren(this);
20316 }
20317 }
20318
20319 public final DataWareHousePartitionOptionContext dataWareHousePartitionOption() throws RecognitionException {
20320 DataWareHousePartitionOptionContext _localctx = new DataWareHousePartitionOptionContext(_ctx, getState());
20321 enterRule(_localctx, 426, RULE_dataWareHousePartitionOption);
20322 int _la;
20323 try {
20324 enterOuterAlt(_localctx, 1);
20325 {
20326 {
20327 setState(2998);
20328 match(PARTITION);
20329 setState(2999);
20330 match(LP_);
20331 setState(3000);
20332 columnName();
20333 setState(3001);
20334 match(RANGE);
20335 setState(3003);
20336 _errHandler.sync(this);
20337 _la = _input.LA(1);
20338 if (_la==LEFT || _la==RIGHT) {
20339 {
20340 setState(3002);
20341 _la = _input.LA(1);
20342 if ( !(_la==LEFT || _la==RIGHT) ) {
20343 _errHandler.recoverInline(this);
20344 }
20345 else {
20346 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20347 _errHandler.reportMatch(this);
20348 consume();
20349 }
20350 }
20351 }
20352
20353 setState(3005);
20354 match(FOR);
20355 setState(3006);
20356 match(VALUES);
20357 setState(3007);
20358 match(LP_);
20359 setState(3008);
20360 simpleExpr(0);
20361 setState(3013);
20362 _errHandler.sync(this);
20363 _la = _input.LA(1);
20364 while (_la==COMMA_) {
20365 {
20366 {
20367 setState(3009);
20368 match(COMMA_);
20369 setState(3010);
20370 simpleExpr(0);
20371 }
20372 }
20373 setState(3015);
20374 _errHandler.sync(this);
20375 _la = _input.LA(1);
20376 }
20377 setState(3016);
20378 match(RP_);
20379 setState(3017);
20380 match(RP_);
20381 }
20382 }
20383 }
20384 catch (RecognitionException re) {
20385 _localctx.exception = re;
20386 _errHandler.reportError(this, re);
20387 _errHandler.recover(this, re);
20388 }
20389 finally {
20390 exitRule();
20391 }
20392 return _localctx;
20393 }
20394
20395 public static class CreateIndexSpecificationContext extends ParserRuleContext {
20396 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
20397 public ClusterOptionContext clusterOption() {
20398 return getRuleContext(ClusterOptionContext.class,0);
20399 }
20400 public CreateIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
20401 super(parent, invokingState);
20402 }
20403 @Override public int getRuleIndex() { return RULE_createIndexSpecification; }
20404 @Override
20405 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20406 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexSpecification(this);
20407 else return visitor.visitChildren(this);
20408 }
20409 }
20410
20411 public final CreateIndexSpecificationContext createIndexSpecification() throws RecognitionException {
20412 CreateIndexSpecificationContext _localctx = new CreateIndexSpecificationContext(_ctx, getState());
20413 enterRule(_localctx, 428, RULE_createIndexSpecification);
20414 int _la;
20415 try {
20416 enterOuterAlt(_localctx, 1);
20417 {
20418 setState(3020);
20419 _errHandler.sync(this);
20420 _la = _input.LA(1);
20421 if (_la==UNIQUE) {
20422 {
20423 setState(3019);
20424 match(UNIQUE);
20425 }
20426 }
20427
20428 setState(3023);
20429 _errHandler.sync(this);
20430 _la = _input.LA(1);
20431 if (_la==CLUSTERED || _la==NONCLUSTERED) {
20432 {
20433 setState(3022);
20434 clusterOption();
20435 }
20436 }
20437
20438 }
20439 }
20440 catch (RecognitionException re) {
20441 _localctx.exception = re;
20442 _errHandler.reportError(this, re);
20443 _errHandler.recover(this, re);
20444 }
20445 finally {
20446 exitRule();
20447 }
20448 return _localctx;
20449 }
20450
20451 public static class AlterDefinitionClauseContext extends ParserRuleContext {
20452 public AddColumnSpecificationContext addColumnSpecification() {
20453 return getRuleContext(AddColumnSpecificationContext.class,0);
20454 }
20455 public ModifyColumnSpecificationContext modifyColumnSpecification() {
20456 return getRuleContext(ModifyColumnSpecificationContext.class,0);
20457 }
20458 public AlterDropContext alterDrop() {
20459 return getRuleContext(AlterDropContext.class,0);
20460 }
20461 public AlterCheckConstraintContext alterCheckConstraint() {
20462 return getRuleContext(AlterCheckConstraintContext.class,0);
20463 }
20464 public AlterTableTriggerContext alterTableTrigger() {
20465 return getRuleContext(AlterTableTriggerContext.class,0);
20466 }
20467 public AlterSwitchContext alterSwitch() {
20468 return getRuleContext(AlterSwitchContext.class,0);
20469 }
20470 public AlterSetContext alterSet() {
20471 return getRuleContext(AlterSetContext.class,0);
20472 }
20473 public AlterTableOptionContext alterTableOption() {
20474 return getRuleContext(AlterTableOptionContext.class,0);
20475 }
20476 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
20477 public AlterDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
20478 super(parent, invokingState);
20479 }
20480 @Override public int getRuleIndex() { return RULE_alterDefinitionClause; }
20481 @Override
20482 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20483 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDefinitionClause(this);
20484 else return visitor.visitChildren(this);
20485 }
20486 }
20487
20488 public final AlterDefinitionClauseContext alterDefinitionClause() throws RecognitionException {
20489 AlterDefinitionClauseContext _localctx = new AlterDefinitionClauseContext(_ctx, getState());
20490 enterRule(_localctx, 430, RULE_alterDefinitionClause);
20491 try {
20492 setState(3034);
20493 _errHandler.sync(this);
20494 switch ( getInterpreter().adaptivePredict(_input,263,_ctx) ) {
20495 case 1:
20496 enterOuterAlt(_localctx, 1);
20497 {
20498 setState(3025);
20499 addColumnSpecification();
20500 }
20501 break;
20502 case 2:
20503 enterOuterAlt(_localctx, 2);
20504 {
20505 setState(3026);
20506 modifyColumnSpecification();
20507 }
20508 break;
20509 case 3:
20510 enterOuterAlt(_localctx, 3);
20511 {
20512 setState(3027);
20513 alterDrop();
20514 }
20515 break;
20516 case 4:
20517 enterOuterAlt(_localctx, 4);
20518 {
20519 setState(3028);
20520 alterCheckConstraint();
20521 }
20522 break;
20523 case 5:
20524 enterOuterAlt(_localctx, 5);
20525 {
20526 setState(3029);
20527 alterTableTrigger();
20528 }
20529 break;
20530 case 6:
20531 enterOuterAlt(_localctx, 6);
20532 {
20533 setState(3030);
20534 alterSwitch();
20535 }
20536 break;
20537 case 7:
20538 enterOuterAlt(_localctx, 7);
20539 {
20540 setState(3031);
20541 alterSet();
20542 }
20543 break;
20544 case 8:
20545 enterOuterAlt(_localctx, 8);
20546 {
20547 setState(3032);
20548 alterTableOption();
20549 }
20550 break;
20551 case 9:
20552 enterOuterAlt(_localctx, 9);
20553 {
20554 setState(3033);
20555 match(REBUILD);
20556 }
20557 break;
20558 }
20559 }
20560 catch (RecognitionException re) {
20561 _localctx.exception = re;
20562 _errHandler.reportError(this, re);
20563 _errHandler.recover(this, re);
20564 }
20565 finally {
20566 exitRule();
20567 }
20568 return _localctx;
20569 }
20570
20571 public static class AddColumnSpecificationContext extends ParserRuleContext {
20572 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
20573 public AlterColumnAddOptionsContext alterColumnAddOptions() {
20574 return getRuleContext(AlterColumnAddOptionsContext.class,0);
20575 }
20576 public GeneratedColumnNamesClauseContext generatedColumnNamesClause() {
20577 return getRuleContext(GeneratedColumnNamesClauseContext.class,0);
20578 }
20579 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
20580 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
20581 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
20582 public AddColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
20583 super(parent, invokingState);
20584 }
20585 @Override public int getRuleIndex() { return RULE_addColumnSpecification; }
20586 @Override
20587 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20588 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddColumnSpecification(this);
20589 else return visitor.visitChildren(this);
20590 }
20591 }
20592
20593 public final AddColumnSpecificationContext addColumnSpecification() throws RecognitionException {
20594 AddColumnSpecificationContext _localctx = new AddColumnSpecificationContext(_ctx, getState());
20595 enterRule(_localctx, 432, RULE_addColumnSpecification);
20596 int _la;
20597 try {
20598 enterOuterAlt(_localctx, 1);
20599 {
20600 setState(3038);
20601 _errHandler.sync(this);
20602 _la = _input.LA(1);
20603 if (_la==WITH) {
20604 {
20605 setState(3036);
20606 match(WITH);
20607 setState(3037);
20608 _la = _input.LA(1);
20609 if ( !(_la==CHECK || _la==NOCHECK) ) {
20610 _errHandler.recoverInline(this);
20611 }
20612 else {
20613 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20614 _errHandler.reportMatch(this);
20615 consume();
20616 }
20617 }
20618 }
20619
20620 setState(3040);
20621 match(ADD);
20622 setState(3043);
20623 _errHandler.sync(this);
20624 switch ( getInterpreter().adaptivePredict(_input,265,_ctx) ) {
20625 case 1:
20626 {
20627 setState(3041);
20628 alterColumnAddOptions();
20629 }
20630 break;
20631 case 2:
20632 {
20633 setState(3042);
20634 generatedColumnNamesClause();
20635 }
20636 break;
20637 }
20638 }
20639 }
20640 catch (RecognitionException re) {
20641 _localctx.exception = re;
20642 _errHandler.reportError(this, re);
20643 _errHandler.recover(this, re);
20644 }
20645 finally {
20646 exitRule();
20647 }
20648 return _localctx;
20649 }
20650
20651 public static class ModifyColumnSpecificationContext extends ParserRuleContext {
20652 public AlterColumnOperationContext alterColumnOperation() {
20653 return getRuleContext(AlterColumnOperationContext.class,0);
20654 }
20655 public DataTypeContext dataType() {
20656 return getRuleContext(DataTypeContext.class,0);
20657 }
20658 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
20659 public CollationNameContext collationName() {
20660 return getRuleContext(CollationNameContext.class,0);
20661 }
20662 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
20663 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
20664 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
20665 public ModifyColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
20666 super(parent, invokingState);
20667 }
20668 @Override public int getRuleIndex() { return RULE_modifyColumnSpecification; }
20669 @Override
20670 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20671 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitModifyColumnSpecification(this);
20672 else return visitor.visitChildren(this);
20673 }
20674 }
20675
20676 public final ModifyColumnSpecificationContext modifyColumnSpecification() throws RecognitionException {
20677 ModifyColumnSpecificationContext _localctx = new ModifyColumnSpecificationContext(_ctx, getState());
20678 enterRule(_localctx, 434, RULE_modifyColumnSpecification);
20679 int _la;
20680 try {
20681 enterOuterAlt(_localctx, 1);
20682 {
20683 setState(3045);
20684 alterColumnOperation();
20685 setState(3046);
20686 dataType();
20687 setState(3049);
20688 _errHandler.sync(this);
20689 _la = _input.LA(1);
20690 if (_la==COLLATE) {
20691 {
20692 setState(3047);
20693 match(COLLATE);
20694 setState(3048);
20695 collationName();
20696 }
20697 }
20698
20699 setState(3054);
20700 _errHandler.sync(this);
20701 switch (_input.LA(1)) {
20702 case NULL:
20703 {
20704 setState(3051);
20705 match(NULL);
20706 }
20707 break;
20708 case NOT:
20709 {
20710 setState(3052);
20711 match(NOT);
20712 setState(3053);
20713 match(NULL);
20714 }
20715 break;
20716 case EOF:
20717 case COMMA_:
20718 case SEMI_:
20719 case SELECT:
20720 case INSERT:
20721 case UPDATE:
20722 case DELETE:
20723 case CREATE:
20724 case ALTER:
20725 case DROP:
20726 case TRUNCATE:
20727 case SET:
20728 case WITH:
20729 case DECLARE:
20730 case RETURN:
20731 case END:
20732 case SPARSE:
20733 break;
20734 default:
20735 break;
20736 }
20737 setState(3057);
20738 _errHandler.sync(this);
20739 _la = _input.LA(1);
20740 if (_la==SPARSE) {
20741 {
20742 setState(3056);
20743 match(SPARSE);
20744 }
20745 }
20746
20747 }
20748 }
20749 catch (RecognitionException re) {
20750 _localctx.exception = re;
20751 _errHandler.reportError(this, re);
20752 _errHandler.recover(this, re);
20753 }
20754 finally {
20755 exitRule();
20756 }
20757 return _localctx;
20758 }
20759
20760 public static class AlterColumnOperationContext extends ParserRuleContext {
20761 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
20762 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
20763 public ColumnNameContext columnName() {
20764 return getRuleContext(ColumnNameContext.class,0);
20765 }
20766 public AlterColumnOperationContext(ParserRuleContext parent, int invokingState) {
20767 super(parent, invokingState);
20768 }
20769 @Override public int getRuleIndex() { return RULE_alterColumnOperation; }
20770 @Override
20771 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20772 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnOperation(this);
20773 else return visitor.visitChildren(this);
20774 }
20775 }
20776
20777 public final AlterColumnOperationContext alterColumnOperation() throws RecognitionException {
20778 AlterColumnOperationContext _localctx = new AlterColumnOperationContext(_ctx, getState());
20779 enterRule(_localctx, 436, RULE_alterColumnOperation);
20780 try {
20781 enterOuterAlt(_localctx, 1);
20782 {
20783 setState(3059);
20784 match(ALTER);
20785 setState(3060);
20786 match(COLUMN);
20787 setState(3061);
20788 columnName();
20789 }
20790 }
20791 catch (RecognitionException re) {
20792 _localctx.exception = re;
20793 _errHandler.reportError(this, re);
20794 _errHandler.recover(this, re);
20795 }
20796 finally {
20797 exitRule();
20798 }
20799 return _localctx;
20800 }
20801
20802 public static class AlterColumnAddOptionsContext extends ParserRuleContext {
20803 public List<AlterColumnAddOptionContext> alterColumnAddOption() {
20804 return getRuleContexts(AlterColumnAddOptionContext.class);
20805 }
20806 public AlterColumnAddOptionContext alterColumnAddOption(int i) {
20807 return getRuleContext(AlterColumnAddOptionContext.class,i);
20808 }
20809 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20810 public TerminalNode COMMA_(int i) {
20811 return getToken(SQLServerStatementParser.COMMA_, i);
20812 }
20813 public AlterColumnAddOptionsContext(ParserRuleContext parent, int invokingState) {
20814 super(parent, invokingState);
20815 }
20816 @Override public int getRuleIndex() { return RULE_alterColumnAddOptions; }
20817 @Override
20818 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20819 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOptions(this);
20820 else return visitor.visitChildren(this);
20821 }
20822 }
20823
20824 public final AlterColumnAddOptionsContext alterColumnAddOptions() throws RecognitionException {
20825 AlterColumnAddOptionsContext _localctx = new AlterColumnAddOptionsContext(_ctx, getState());
20826 enterRule(_localctx, 438, RULE_alterColumnAddOptions);
20827 try {
20828 int _alt;
20829 enterOuterAlt(_localctx, 1);
20830 {
20831 setState(3063);
20832 alterColumnAddOption();
20833 setState(3068);
20834 _errHandler.sync(this);
20835 _alt = getInterpreter().adaptivePredict(_input,269,_ctx);
20836 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
20837 if ( _alt==1 ) {
20838 {
20839 {
20840 setState(3064);
20841 match(COMMA_);
20842 setState(3065);
20843 alterColumnAddOption();
20844 }
20845 }
20846 }
20847 setState(3070);
20848 _errHandler.sync(this);
20849 _alt = getInterpreter().adaptivePredict(_input,269,_ctx);
20850 }
20851 }
20852 }
20853 catch (RecognitionException re) {
20854 _localctx.exception = re;
20855 _errHandler.reportError(this, re);
20856 _errHandler.recover(this, re);
20857 }
20858 finally {
20859 exitRule();
20860 }
20861 return _localctx;
20862 }
20863
20864 public static class AlterColumnAddOptionContext extends ParserRuleContext {
20865 public ColumnDefinitionContext columnDefinition() {
20866 return getRuleContext(ColumnDefinitionContext.class,0);
20867 }
20868 public ComputedColumnDefinitionContext computedColumnDefinition() {
20869 return getRuleContext(ComputedColumnDefinitionContext.class,0);
20870 }
20871 public ColumnSetDefinitionContext columnSetDefinition() {
20872 return getRuleContext(ColumnSetDefinitionContext.class,0);
20873 }
20874 public TableConstraintContext tableConstraint() {
20875 return getRuleContext(TableConstraintContext.class,0);
20876 }
20877 public AlterTableTableIndexContext alterTableTableIndex() {
20878 return getRuleContext(AlterTableTableIndexContext.class,0);
20879 }
20880 public ConstraintForColumnContext constraintForColumn() {
20881 return getRuleContext(ConstraintForColumnContext.class,0);
20882 }
20883 public AlterColumnAddOptionContext(ParserRuleContext parent, int invokingState) {
20884 super(parent, invokingState);
20885 }
20886 @Override public int getRuleIndex() { return RULE_alterColumnAddOption; }
20887 @Override
20888 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20889 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOption(this);
20890 else return visitor.visitChildren(this);
20891 }
20892 }
20893
20894 public final AlterColumnAddOptionContext alterColumnAddOption() throws RecognitionException {
20895 AlterColumnAddOptionContext _localctx = new AlterColumnAddOptionContext(_ctx, getState());
20896 enterRule(_localctx, 440, RULE_alterColumnAddOption);
20897 try {
20898 setState(3077);
20899 _errHandler.sync(this);
20900 switch ( getInterpreter().adaptivePredict(_input,270,_ctx) ) {
20901 case 1:
20902 enterOuterAlt(_localctx, 1);
20903 {
20904 setState(3071);
20905 columnDefinition();
20906 }
20907 break;
20908 case 2:
20909 enterOuterAlt(_localctx, 2);
20910 {
20911 setState(3072);
20912 computedColumnDefinition();
20913 }
20914 break;
20915 case 3:
20916 enterOuterAlt(_localctx, 3);
20917 {
20918 setState(3073);
20919 columnSetDefinition();
20920 }
20921 break;
20922 case 4:
20923 enterOuterAlt(_localctx, 4);
20924 {
20925 setState(3074);
20926 tableConstraint();
20927 }
20928 break;
20929 case 5:
20930 enterOuterAlt(_localctx, 5);
20931 {
20932 setState(3075);
20933 alterTableTableIndex();
20934 }
20935 break;
20936 case 6:
20937 enterOuterAlt(_localctx, 6);
20938 {
20939 setState(3076);
20940 constraintForColumn();
20941 }
20942 break;
20943 }
20944 }
20945 catch (RecognitionException re) {
20946 _localctx.exception = re;
20947 _errHandler.reportError(this, re);
20948 _errHandler.recover(this, re);
20949 }
20950 finally {
20951 exitRule();
20952 }
20953 return _localctx;
20954 }
20955
20956 public static class ConstraintForColumnContext extends ParserRuleContext {
20957 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
20958 public SimpleExprContext simpleExpr() {
20959 return getRuleContext(SimpleExprContext.class,0);
20960 }
20961 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
20962 public ColumnNameContext columnName() {
20963 return getRuleContext(ColumnNameContext.class,0);
20964 }
20965 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
20966 public ConstraintNameContext constraintName() {
20967 return getRuleContext(ConstraintNameContext.class,0);
20968 }
20969 public ConstraintForColumnContext(ParserRuleContext parent, int invokingState) {
20970 super(parent, invokingState);
20971 }
20972 @Override public int getRuleIndex() { return RULE_constraintForColumn; }
20973 @Override
20974 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20975 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintForColumn(this);
20976 else return visitor.visitChildren(this);
20977 }
20978 }
20979
20980 public final ConstraintForColumnContext constraintForColumn() throws RecognitionException {
20981 ConstraintForColumnContext _localctx = new ConstraintForColumnContext(_ctx, getState());
20982 enterRule(_localctx, 442, RULE_constraintForColumn);
20983 int _la;
20984 try {
20985 enterOuterAlt(_localctx, 1);
20986 {
20987 setState(3081);
20988 _errHandler.sync(this);
20989 _la = _input.LA(1);
20990 if (_la==CONSTRAINT) {
20991 {
20992 setState(3079);
20993 match(CONSTRAINT);
20994 setState(3080);
20995 constraintName();
20996 }
20997 }
20998
20999 setState(3083);
21000 match(DEFAULT);
21001 setState(3084);
21002 simpleExpr(0);
21003 setState(3085);
21004 match(FOR);
21005 setState(3086);
21006 columnName();
21007 }
21008 }
21009 catch (RecognitionException re) {
21010 _localctx.exception = re;
21011 _errHandler.reportError(this, re);
21012 _errHandler.recover(this, re);
21013 }
21014 finally {
21015 exitRule();
21016 }
21017 return _localctx;
21018 }
21019
21020 public static class GeneratedColumnNamesClauseContext extends ParserRuleContext {
21021 public GeneratedColumnNameClauseContext generatedColumnNameClause() {
21022 return getRuleContext(GeneratedColumnNameClauseContext.class,0);
21023 }
21024 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
21025 public PeriodClauseContext periodClause() {
21026 return getRuleContext(PeriodClauseContext.class,0);
21027 }
21028 public GeneratedColumnNamesClauseContext(ParserRuleContext parent, int invokingState) {
21029 super(parent, invokingState);
21030 }
21031 @Override public int getRuleIndex() { return RULE_generatedColumnNamesClause; }
21032 @Override
21033 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21034 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNamesClause(this);
21035 else return visitor.visitChildren(this);
21036 }
21037 }
21038
21039 public final GeneratedColumnNamesClauseContext generatedColumnNamesClause() throws RecognitionException {
21040 GeneratedColumnNamesClauseContext _localctx = new GeneratedColumnNamesClauseContext(_ctx, getState());
21041 enterRule(_localctx, 444, RULE_generatedColumnNamesClause);
21042 try {
21043 setState(3096);
21044 _errHandler.sync(this);
21045 switch ( getInterpreter().adaptivePredict(_input,272,_ctx) ) {
21046 case 1:
21047 enterOuterAlt(_localctx, 1);
21048 {
21049 setState(3088);
21050 generatedColumnNameClause();
21051 setState(3089);
21052 match(COMMA_);
21053 setState(3090);
21054 periodClause();
21055 }
21056 break;
21057 case 2:
21058 enterOuterAlt(_localctx, 2);
21059 {
21060 setState(3092);
21061 periodClause();
21062 setState(3093);
21063 match(COMMA_);
21064 setState(3094);
21065 generatedColumnNameClause();
21066 }
21067 break;
21068 }
21069 }
21070 catch (RecognitionException re) {
21071 _localctx.exception = re;
21072 _errHandler.reportError(this, re);
21073 _errHandler.recover(this, re);
21074 }
21075 finally {
21076 exitRule();
21077 }
21078 return _localctx;
21079 }
21080
21081 public static class GeneratedColumnNameClauseContext extends ParserRuleContext {
21082 public List<GeneratedColumnNameContext> generatedColumnName() {
21083 return getRuleContexts(GeneratedColumnNameContext.class);
21084 }
21085 public GeneratedColumnNameContext generatedColumnName(int i) {
21086 return getRuleContext(GeneratedColumnNameContext.class,i);
21087 }
21088 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
21089 public SimpleExprContext simpleExpr() {
21090 return getRuleContext(SimpleExprContext.class,0);
21091 }
21092 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
21093 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21094 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
21095 public GeneratedColumnNameClauseContext(ParserRuleContext parent, int invokingState) {
21096 super(parent, invokingState);
21097 }
21098 @Override public int getRuleIndex() { return RULE_generatedColumnNameClause; }
21099 @Override
21100 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21101 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNameClause(this);
21102 else return visitor.visitChildren(this);
21103 }
21104 }
21105
21106 public final GeneratedColumnNameClauseContext generatedColumnNameClause() throws RecognitionException {
21107 GeneratedColumnNameClauseContext _localctx = new GeneratedColumnNameClauseContext(_ctx, getState());
21108 enterRule(_localctx, 446, RULE_generatedColumnNameClause);
21109 int _la;
21110 try {
21111 enterOuterAlt(_localctx, 1);
21112 {
21113 setState(3098);
21114 generatedColumnName();
21115 setState(3099);
21116 match(DEFAULT);
21117 setState(3100);
21118 simpleExpr(0);
21119 setState(3103);
21120 _errHandler.sync(this);
21121 _la = _input.LA(1);
21122 if (_la==WITH) {
21123 {
21124 setState(3101);
21125 match(WITH);
21126 setState(3102);
21127 match(VALUES);
21128 }
21129 }
21130
21131 setState(3105);
21132 match(COMMA_);
21133 setState(3106);
21134 generatedColumnName();
21135 }
21136 }
21137 catch (RecognitionException re) {
21138 _localctx.exception = re;
21139 _errHandler.reportError(this, re);
21140 _errHandler.recover(this, re);
21141 }
21142 finally {
21143 exitRule();
21144 }
21145 return _localctx;
21146 }
21147
21148 public static class GeneratedColumnNameContext extends ParserRuleContext {
21149 public ColumnNameContext columnName() {
21150 return getRuleContext(ColumnNameContext.class,0);
21151 }
21152 public DataTypeNameContext dataTypeName() {
21153 return getRuleContext(DataTypeNameContext.class,0);
21154 }
21155 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
21156 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
21157 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
21158 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
21159 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
21160 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
21161 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
21162 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
21163 public IgnoredIdentifierContext ignoredIdentifier() {
21164 return getRuleContext(IgnoredIdentifierContext.class,0);
21165 }
21166 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
21167 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
21168 public GeneratedColumnNameContext(ParserRuleContext parent, int invokingState) {
21169 super(parent, invokingState);
21170 }
21171 @Override public int getRuleIndex() { return RULE_generatedColumnName; }
21172 @Override
21173 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21174 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnName(this);
21175 else return visitor.visitChildren(this);
21176 }
21177 }
21178
21179 public final GeneratedColumnNameContext generatedColumnName() throws RecognitionException {
21180 GeneratedColumnNameContext _localctx = new GeneratedColumnNameContext(_ctx, getState());
21181 enterRule(_localctx, 448, RULE_generatedColumnName);
21182 int _la;
21183 try {
21184 enterOuterAlt(_localctx, 1);
21185 {
21186 setState(3108);
21187 columnName();
21188 setState(3109);
21189 dataTypeName();
21190 setState(3110);
21191 match(GENERATED);
21192 setState(3111);
21193 match(ALWAYS);
21194 setState(3112);
21195 match(AS);
21196 setState(3113);
21197 match(ROW);
21198 setState(3115);
21199 _errHandler.sync(this);
21200 switch ( getInterpreter().adaptivePredict(_input,274,_ctx) ) {
21201 case 1:
21202 {
21203 setState(3114);
21204 _la = _input.LA(1);
21205 if ( !(_la==START || _la==END) ) {
21206 _errHandler.recoverInline(this);
21207 }
21208 else {
21209 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21210 _errHandler.reportMatch(this);
21211 consume();
21212 }
21213 }
21214 break;
21215 }
21216 setState(3118);
21217 _errHandler.sync(this);
21218 _la = _input.LA(1);
21219 if (_la==HIDDEN_) {
21220 {
21221 setState(3117);
21222 match(HIDDEN_);
21223 }
21224 }
21225
21226 setState(3122);
21227 _errHandler.sync(this);
21228 _la = _input.LA(1);
21229 if (_la==NOT) {
21230 {
21231 setState(3120);
21232 match(NOT);
21233 setState(3121);
21234 match(NULL);
21235 }
21236 }
21237
21238 setState(3126);
21239 _errHandler.sync(this);
21240 _la = _input.LA(1);
21241 if (_la==CONSTRAINT) {
21242 {
21243 setState(3124);
21244 match(CONSTRAINT);
21245 setState(3125);
21246 ignoredIdentifier();
21247 }
21248 }
21249
21250 }
21251 }
21252 catch (RecognitionException re) {
21253 _localctx.exception = re;
21254 _errHandler.reportError(this, re);
21255 _errHandler.recover(this, re);
21256 }
21257 finally {
21258 exitRule();
21259 }
21260 return _localctx;
21261 }
21262
21263 public static class AlterDropContext extends ParserRuleContext {
21264 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
21265 public AlterTableDropConstraintContext alterTableDropConstraint() {
21266 return getRuleContext(AlterTableDropConstraintContext.class,0);
21267 }
21268 public DropColumnSpecificationContext dropColumnSpecification() {
21269 return getRuleContext(DropColumnSpecificationContext.class,0);
21270 }
21271 public DropIndexSpecificationContext dropIndexSpecification() {
21272 return getRuleContext(DropIndexSpecificationContext.class,0);
21273 }
21274 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
21275 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
21276 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
21277 public AlterDropContext(ParserRuleContext parent, int invokingState) {
21278 super(parent, invokingState);
21279 }
21280 @Override public int getRuleIndex() { return RULE_alterDrop; }
21281 @Override
21282 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21283 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDrop(this);
21284 else return visitor.visitChildren(this);
21285 }
21286 }
21287
21288 public final AlterDropContext alterDrop() throws RecognitionException {
21289 AlterDropContext _localctx = new AlterDropContext(_ctx, getState());
21290 enterRule(_localctx, 450, RULE_alterDrop);
21291 try {
21292 enterOuterAlt(_localctx, 1);
21293 {
21294 setState(3128);
21295 match(DROP);
21296 setState(3135);
21297 _errHandler.sync(this);
21298 switch ( getInterpreter().adaptivePredict(_input,278,_ctx) ) {
21299 case 1:
21300 {
21301 setState(3129);
21302 alterTableDropConstraint();
21303 }
21304 break;
21305 case 2:
21306 {
21307 setState(3130);
21308 dropColumnSpecification();
21309 }
21310 break;
21311 case 3:
21312 {
21313 setState(3131);
21314 dropIndexSpecification();
21315 }
21316 break;
21317 case 4:
21318 {
21319 setState(3132);
21320 match(PERIOD);
21321 setState(3133);
21322 match(FOR);
21323 setState(3134);
21324 match(SYSTEM_TIME);
21325 }
21326 break;
21327 }
21328 }
21329 }
21330 catch (RecognitionException re) {
21331 _localctx.exception = re;
21332 _errHandler.reportError(this, re);
21333 _errHandler.recover(this, re);
21334 }
21335 finally {
21336 exitRule();
21337 }
21338 return _localctx;
21339 }
21340
21341 public static class AlterTableDropConstraintContext extends ParserRuleContext {
21342 public List<DropConstraintNameContext> dropConstraintName() {
21343 return getRuleContexts(DropConstraintNameContext.class);
21344 }
21345 public DropConstraintNameContext dropConstraintName(int i) {
21346 return getRuleContext(DropConstraintNameContext.class,i);
21347 }
21348 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
21349 public IfExistsContext ifExists() {
21350 return getRuleContext(IfExistsContext.class,0);
21351 }
21352 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21353 public TerminalNode COMMA_(int i) {
21354 return getToken(SQLServerStatementParser.COMMA_, i);
21355 }
21356 public AlterTableDropConstraintContext(ParserRuleContext parent, int invokingState) {
21357 super(parent, invokingState);
21358 }
21359 @Override public int getRuleIndex() { return RULE_alterTableDropConstraint; }
21360 @Override
21361 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21362 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableDropConstraint(this);
21363 else return visitor.visitChildren(this);
21364 }
21365 }
21366
21367 public final AlterTableDropConstraintContext alterTableDropConstraint() throws RecognitionException {
21368 AlterTableDropConstraintContext _localctx = new AlterTableDropConstraintContext(_ctx, getState());
21369 enterRule(_localctx, 452, RULE_alterTableDropConstraint);
21370 int _la;
21371 try {
21372 int _alt;
21373 enterOuterAlt(_localctx, 1);
21374 {
21375 setState(3138);
21376 _errHandler.sync(this);
21377 _la = _input.LA(1);
21378 if (_la==CONSTRAINT) {
21379 {
21380 setState(3137);
21381 match(CONSTRAINT);
21382 }
21383 }
21384
21385 setState(3141);
21386 _errHandler.sync(this);
21387 _la = _input.LA(1);
21388 if (_la==IF) {
21389 {
21390 setState(3140);
21391 ifExists();
21392 }
21393 }
21394
21395 setState(3143);
21396 dropConstraintName();
21397 setState(3148);
21398 _errHandler.sync(this);
21399 _alt = getInterpreter().adaptivePredict(_input,281,_ctx);
21400 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
21401 if ( _alt==1 ) {
21402 {
21403 {
21404 setState(3144);
21405 match(COMMA_);
21406 setState(3145);
21407 dropConstraintName();
21408 }
21409 }
21410 }
21411 setState(3150);
21412 _errHandler.sync(this);
21413 _alt = getInterpreter().adaptivePredict(_input,281,_ctx);
21414 }
21415 }
21416 }
21417 catch (RecognitionException re) {
21418 _localctx.exception = re;
21419 _errHandler.reportError(this, re);
21420 _errHandler.recover(this, re);
21421 }
21422 finally {
21423 exitRule();
21424 }
21425 return _localctx;
21426 }
21427
21428 public static class DropConstraintNameContext extends ParserRuleContext {
21429 public ConstraintNameContext constraintName() {
21430 return getRuleContext(ConstraintNameContext.class,0);
21431 }
21432 public DropConstraintWithClauseContext dropConstraintWithClause() {
21433 return getRuleContext(DropConstraintWithClauseContext.class,0);
21434 }
21435 public DropConstraintNameContext(ParserRuleContext parent, int invokingState) {
21436 super(parent, invokingState);
21437 }
21438 @Override public int getRuleIndex() { return RULE_dropConstraintName; }
21439 @Override
21440 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21441 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintName(this);
21442 else return visitor.visitChildren(this);
21443 }
21444 }
21445
21446 public final DropConstraintNameContext dropConstraintName() throws RecognitionException {
21447 DropConstraintNameContext _localctx = new DropConstraintNameContext(_ctx, getState());
21448 enterRule(_localctx, 454, RULE_dropConstraintName);
21449 try {
21450 enterOuterAlt(_localctx, 1);
21451 {
21452 setState(3151);
21453 constraintName();
21454 setState(3153);
21455 _errHandler.sync(this);
21456 switch ( getInterpreter().adaptivePredict(_input,282,_ctx) ) {
21457 case 1:
21458 {
21459 setState(3152);
21460 dropConstraintWithClause();
21461 }
21462 break;
21463 }
21464 }
21465 }
21466 catch (RecognitionException re) {
21467 _localctx.exception = re;
21468 _errHandler.reportError(this, re);
21469 _errHandler.recover(this, re);
21470 }
21471 finally {
21472 exitRule();
21473 }
21474 return _localctx;
21475 }
21476
21477 public static class DropConstraintWithClauseContext extends ParserRuleContext {
21478 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21479 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21480 public List<DropConstraintOptionContext> dropConstraintOption() {
21481 return getRuleContexts(DropConstraintOptionContext.class);
21482 }
21483 public DropConstraintOptionContext dropConstraintOption(int i) {
21484 return getRuleContext(DropConstraintOptionContext.class,i);
21485 }
21486 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21487 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21488 public TerminalNode COMMA_(int i) {
21489 return getToken(SQLServerStatementParser.COMMA_, i);
21490 }
21491 public DropConstraintWithClauseContext(ParserRuleContext parent, int invokingState) {
21492 super(parent, invokingState);
21493 }
21494 @Override public int getRuleIndex() { return RULE_dropConstraintWithClause; }
21495 @Override
21496 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21497 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintWithClause(this);
21498 else return visitor.visitChildren(this);
21499 }
21500 }
21501
21502 public final DropConstraintWithClauseContext dropConstraintWithClause() throws RecognitionException {
21503 DropConstraintWithClauseContext _localctx = new DropConstraintWithClauseContext(_ctx, getState());
21504 enterRule(_localctx, 456, RULE_dropConstraintWithClause);
21505 int _la;
21506 try {
21507 enterOuterAlt(_localctx, 1);
21508 {
21509 setState(3155);
21510 match(WITH);
21511 setState(3156);
21512 match(LP_);
21513 setState(3157);
21514 dropConstraintOption();
21515 setState(3162);
21516 _errHandler.sync(this);
21517 _la = _input.LA(1);
21518 while (_la==COMMA_) {
21519 {
21520 {
21521 setState(3158);
21522 match(COMMA_);
21523 setState(3159);
21524 dropConstraintOption();
21525 }
21526 }
21527 setState(3164);
21528 _errHandler.sync(this);
21529 _la = _input.LA(1);
21530 }
21531 setState(3165);
21532 match(RP_);
21533 }
21534 }
21535 catch (RecognitionException re) {
21536 _localctx.exception = re;
21537 _errHandler.reportError(this, re);
21538 _errHandler.recover(this, re);
21539 }
21540 finally {
21541 exitRule();
21542 }
21543 return _localctx;
21544 }
21545
21546 public static class DropConstraintOptionContext extends ParserRuleContext {
21547 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
21548 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
21549 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
21550 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
21551 public OnOffOptionContext onOffOption() {
21552 return getRuleContext(OnOffOptionContext.class,0);
21553 }
21554 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
21555 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
21556 public SchemaNameContext schemaName() {
21557 return getRuleContext(SchemaNameContext.class,0);
21558 }
21559 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21560 public ColumnNameContext columnName() {
21561 return getRuleContext(ColumnNameContext.class,0);
21562 }
21563 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21564 public IgnoredIdentifierContext ignoredIdentifier() {
21565 return getRuleContext(IgnoredIdentifierContext.class,0);
21566 }
21567 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
21568 public DropConstraintOptionContext(ParserRuleContext parent, int invokingState) {
21569 super(parent, invokingState);
21570 }
21571 @Override public int getRuleIndex() { return RULE_dropConstraintOption; }
21572 @Override
21573 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21574 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintOption(this);
21575 else return visitor.visitChildren(this);
21576 }
21577 }
21578
21579 public final DropConstraintOptionContext dropConstraintOption() throws RecognitionException {
21580 DropConstraintOptionContext _localctx = new DropConstraintOptionContext(_ctx, getState());
21581 enterRule(_localctx, 458, RULE_dropConstraintOption);
21582 try {
21583 enterOuterAlt(_localctx, 1);
21584 {
21585 setState(3184);
21586 _errHandler.sync(this);
21587 switch (_input.LA(1)) {
21588 case MAXDOP:
21589 {
21590 setState(3167);
21591 match(MAXDOP);
21592 setState(3168);
21593 match(EQ_);
21594 setState(3169);
21595 match(NUMBER_);
21596 }
21597 break;
21598 case ONLINE:
21599 {
21600 setState(3170);
21601 match(ONLINE);
21602 setState(3171);
21603 match(EQ_);
21604 setState(3172);
21605 onOffOption();
21606 }
21607 break;
21608 case MOVE:
21609 {
21610 setState(3173);
21611 match(MOVE);
21612 setState(3174);
21613 match(TO);
21614 setState(3182);
21615 _errHandler.sync(this);
21616 switch ( getInterpreter().adaptivePredict(_input,284,_ctx) ) {
21617 case 1:
21618 {
21619 setState(3175);
21620 schemaName();
21621 setState(3176);
21622 match(LP_);
21623 setState(3177);
21624 columnName();
21625 setState(3178);
21626 match(RP_);
21627 }
21628 break;
21629 case 2:
21630 {
21631 setState(3180);
21632 ignoredIdentifier();
21633 }
21634 break;
21635 case 3:
21636 {
21637 setState(3181);
21638 match(STRING_);
21639 }
21640 break;
21641 }
21642 }
21643 break;
21644 default:
21645 throw new NoViableAltException(this);
21646 }
21647 }
21648 }
21649 catch (RecognitionException re) {
21650 _localctx.exception = re;
21651 _errHandler.reportError(this, re);
21652 _errHandler.recover(this, re);
21653 }
21654 finally {
21655 exitRule();
21656 }
21657 return _localctx;
21658 }
21659
21660 public static class OnOffOptionContext extends ParserRuleContext {
21661 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
21662 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
21663 public OnOffOptionContext(ParserRuleContext parent, int invokingState) {
21664 super(parent, invokingState);
21665 }
21666 @Override public int getRuleIndex() { return RULE_onOffOption; }
21667 @Override
21668 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21669 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnOffOption(this);
21670 else return visitor.visitChildren(this);
21671 }
21672 }
21673
21674 public final OnOffOptionContext onOffOption() throws RecognitionException {
21675 OnOffOptionContext _localctx = new OnOffOptionContext(_ctx, getState());
21676 enterRule(_localctx, 460, RULE_onOffOption);
21677 int _la;
21678 try {
21679 enterOuterAlt(_localctx, 1);
21680 {
21681 setState(3186);
21682 _la = _input.LA(1);
21683 if ( !(_la==ON || _la==OFF) ) {
21684 _errHandler.recoverInline(this);
21685 }
21686 else {
21687 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21688 _errHandler.reportMatch(this);
21689 consume();
21690 }
21691 }
21692 }
21693 catch (RecognitionException re) {
21694 _localctx.exception = re;
21695 _errHandler.reportError(this, re);
21696 _errHandler.recover(this, re);
21697 }
21698 finally {
21699 exitRule();
21700 }
21701 return _localctx;
21702 }
21703
21704 public static class DropColumnSpecificationContext extends ParserRuleContext {
21705 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
21706 public List<ColumnNameContext> columnName() {
21707 return getRuleContexts(ColumnNameContext.class);
21708 }
21709 public ColumnNameContext columnName(int i) {
21710 return getRuleContext(ColumnNameContext.class,i);
21711 }
21712 public IfExistsContext ifExists() {
21713 return getRuleContext(IfExistsContext.class,0);
21714 }
21715 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21716 public TerminalNode COMMA_(int i) {
21717 return getToken(SQLServerStatementParser.COMMA_, i);
21718 }
21719 public DropColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
21720 super(parent, invokingState);
21721 }
21722 @Override public int getRuleIndex() { return RULE_dropColumnSpecification; }
21723 @Override
21724 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21725 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropColumnSpecification(this);
21726 else return visitor.visitChildren(this);
21727 }
21728 }
21729
21730 public final DropColumnSpecificationContext dropColumnSpecification() throws RecognitionException {
21731 DropColumnSpecificationContext _localctx = new DropColumnSpecificationContext(_ctx, getState());
21732 enterRule(_localctx, 462, RULE_dropColumnSpecification);
21733 int _la;
21734 try {
21735 int _alt;
21736 enterOuterAlt(_localctx, 1);
21737 {
21738 setState(3188);
21739 match(COLUMN);
21740 setState(3190);
21741 _errHandler.sync(this);
21742 _la = _input.LA(1);
21743 if (_la==IF) {
21744 {
21745 setState(3189);
21746 ifExists();
21747 }
21748 }
21749
21750 setState(3192);
21751 columnName();
21752 setState(3197);
21753 _errHandler.sync(this);
21754 _alt = getInterpreter().adaptivePredict(_input,287,_ctx);
21755 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
21756 if ( _alt==1 ) {
21757 {
21758 {
21759 setState(3193);
21760 match(COMMA_);
21761 setState(3194);
21762 columnName();
21763 }
21764 }
21765 }
21766 setState(3199);
21767 _errHandler.sync(this);
21768 _alt = getInterpreter().adaptivePredict(_input,287,_ctx);
21769 }
21770 }
21771 }
21772 catch (RecognitionException re) {
21773 _localctx.exception = re;
21774 _errHandler.reportError(this, re);
21775 _errHandler.recover(this, re);
21776 }
21777 finally {
21778 exitRule();
21779 }
21780 return _localctx;
21781 }
21782
21783 public static class DropIndexSpecificationContext extends ParserRuleContext {
21784 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
21785 public List<IndexNameContext> indexName() {
21786 return getRuleContexts(IndexNameContext.class);
21787 }
21788 public IndexNameContext indexName(int i) {
21789 return getRuleContext(IndexNameContext.class,i);
21790 }
21791 public IfExistsContext ifExists() {
21792 return getRuleContext(IfExistsContext.class,0);
21793 }
21794 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21795 public TerminalNode COMMA_(int i) {
21796 return getToken(SQLServerStatementParser.COMMA_, i);
21797 }
21798 public DropIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
21799 super(parent, invokingState);
21800 }
21801 @Override public int getRuleIndex() { return RULE_dropIndexSpecification; }
21802 @Override
21803 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21804 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndexSpecification(this);
21805 else return visitor.visitChildren(this);
21806 }
21807 }
21808
21809 public final DropIndexSpecificationContext dropIndexSpecification() throws RecognitionException {
21810 DropIndexSpecificationContext _localctx = new DropIndexSpecificationContext(_ctx, getState());
21811 enterRule(_localctx, 464, RULE_dropIndexSpecification);
21812 int _la;
21813 try {
21814 int _alt;
21815 enterOuterAlt(_localctx, 1);
21816 {
21817 setState(3200);
21818 match(INDEX);
21819 setState(3202);
21820 _errHandler.sync(this);
21821 _la = _input.LA(1);
21822 if (_la==IF) {
21823 {
21824 setState(3201);
21825 ifExists();
21826 }
21827 }
21828
21829 setState(3204);
21830 indexName();
21831 setState(3209);
21832 _errHandler.sync(this);
21833 _alt = getInterpreter().adaptivePredict(_input,289,_ctx);
21834 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
21835 if ( _alt==1 ) {
21836 {
21837 {
21838 setState(3205);
21839 match(COMMA_);
21840 setState(3206);
21841 indexName();
21842 }
21843 }
21844 }
21845 setState(3211);
21846 _errHandler.sync(this);
21847 _alt = getInterpreter().adaptivePredict(_input,289,_ctx);
21848 }
21849 }
21850 }
21851 catch (RecognitionException re) {
21852 _localctx.exception = re;
21853 _errHandler.reportError(this, re);
21854 _errHandler.recover(this, re);
21855 }
21856 finally {
21857 exitRule();
21858 }
21859 return _localctx;
21860 }
21861
21862 public static class AlterCheckConstraintContext extends ParserRuleContext {
21863 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
21864 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
21865 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
21866 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
21867 public ConstraintNameContext constraintName() {
21868 return getRuleContext(ConstraintNameContext.class,0);
21869 }
21870 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21871 public AlterCheckConstraintContext(ParserRuleContext parent, int invokingState) {
21872 super(parent, invokingState);
21873 }
21874 @Override public int getRuleIndex() { return RULE_alterCheckConstraint; }
21875 @Override
21876 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21877 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterCheckConstraint(this);
21878 else return visitor.visitChildren(this);
21879 }
21880 }
21881
21882 public final AlterCheckConstraintContext alterCheckConstraint() throws RecognitionException {
21883 AlterCheckConstraintContext _localctx = new AlterCheckConstraintContext(_ctx, getState());
21884 enterRule(_localctx, 466, RULE_alterCheckConstraint);
21885 int _la;
21886 try {
21887 enterOuterAlt(_localctx, 1);
21888 {
21889 setState(3213);
21890 _errHandler.sync(this);
21891 _la = _input.LA(1);
21892 if (_la==WITH) {
21893 {
21894 setState(3212);
21895 match(WITH);
21896 }
21897 }
21898
21899 setState(3215);
21900 _la = _input.LA(1);
21901 if ( !(_la==CHECK || _la==NOCHECK) ) {
21902 _errHandler.recoverInline(this);
21903 }
21904 else {
21905 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21906 _errHandler.reportMatch(this);
21907 consume();
21908 }
21909 setState(3216);
21910 match(CONSTRAINT);
21911 setState(3219);
21912 _errHandler.sync(this);
21913 switch (_input.LA(1)) {
21914 case ALL:
21915 {
21916 setState(3217);
21917 match(ALL);
21918 }
21919 break;
21920 case TRUNCATE:
21921 case SCHEMA:
21922 case COLUMNS:
21923 case PRECISION:
21924 case FUNCTION:
21925 case TRIGGER:
21926 case CAST:
21927 case SUBSTRING:
21928 case OFF:
21929 case GROUP:
21930 case LIMIT:
21931 case OFFSET:
21932 case SAVEPOINT:
21933 case BOOLEAN:
21934 case ARRAY:
21935 case DATE:
21936 case LOCALTIME:
21937 case LOCALTIMESTAMP:
21938 case QUARTER:
21939 case MONTH:
21940 case WEEK:
21941 case DAY:
21942 case SECOND:
21943 case MICROSECOND:
21944 case MAX:
21945 case MIN:
21946 case SUM:
21947 case COUNT:
21948 case AVG:
21949 case ENABLE:
21950 case DISABLE:
21951 case INSTANCE:
21952 case DO:
21953 case DEFINER:
21954 case SQL:
21955 case CASCADED:
21956 case LOCAL:
21957 case NEXT:
21958 case NAME:
21959 case INTEGER:
21960 case TYPE:
21961 case TEXT:
21962 case VIEWS:
21963 case READ_ONLY:
21964 case DATABASE:
21965 case RETURNS:
21966 case DATEPART:
21967 case PASSWORD:
21968 case BINARY:
21969 case HIDDEN_:
21970 case MOD:
21971 case PARTITION:
21972 case PARTITIONS:
21973 case TOP:
21974 case ROW:
21975 case ROWS:
21976 case XOR:
21977 case ALWAYS:
21978 case ROLE:
21979 case START:
21980 case ALGORITHM:
21981 case AUTO:
21982 case BLOCKERS:
21983 case CLUSTERED:
21984 case NONCLUSTERED:
21985 case COLUMNSTORE:
21986 case CONTENT:
21987 case YEARS:
21988 case MONTHS:
21989 case WEEKS:
21990 case DAYS:
21991 case MINUTES:
21992 case DENY:
21993 case DETERMINISTIC:
21994 case DISTRIBUTION:
21995 case DOCUMENT:
21996 case DURABILITY:
21997 case ENCRYPTED:
21998 case FILESTREAM:
21999 case FILETABLE:
22000 case FILLFACTOR:
22001 case FOLLOWING:
22002 case HASH:
22003 case HEAP:
22004 case INBOUND:
22005 case OUTBOUND:
22006 case UNBOUNDED:
22007 case INFINITE:
22008 case LOGIN:
22009 case MASKED:
22010 case MAXDOP:
22011 case MOVE:
22012 case NOCHECK:
22013 case OBJECT:
22014 case ONLINE:
22015 case OVER:
22016 case PAGE:
22017 case PAUSED:
22018 case PERIOD:
22019 case PERSISTED:
22020 case PRECEDING:
22021 case RANDOMIZED:
22022 case RANGE:
22023 case REBUILD:
22024 case REPLICATE:
22025 case REPLICATION:
22026 case RESUMABLE:
22027 case ROWGUIDCOL:
22028 case SAVE:
22029 case SELF:
22030 case SPARSE:
22031 case SWITCH:
22032 case TRAN:
22033 case TRANCOUNT:
22034 case CONTROL:
22035 case CONCAT:
22036 case TAKE:
22037 case OWNERSHIP:
22038 case DEFINITION:
22039 case APPLICATION:
22040 case ASSEMBLY:
22041 case SYMMETRIC:
22042 case ASYMMETRIC:
22043 case SERVER:
22044 case RECEIVE:
22045 case CHANGE:
22046 case TRACE:
22047 case TRACKING:
22048 case RESOURCES:
22049 case SETTINGS:
22050 case STATE:
22051 case AVAILABILITY:
22052 case CREDENTIAL:
22053 case ENDPOINT:
22054 case EVENT:
22055 case NOTIFICATION:
22056 case LINKED:
22057 case AUDIT:
22058 case DDL:
22059 case XML:
22060 case IMPERSONATE:
22061 case SECURABLES:
22062 case AUTHENTICATE:
22063 case EXTERNAL:
22064 case ACCESS:
22065 case ADMINISTER:
22066 case BULK:
22067 case OPERATIONS:
22068 case UNSAFE:
22069 case SHUTDOWN:
22070 case SCOPED:
22071 case CONFIGURATION:
22072 case DATASPACE:
22073 case SERVICE:
22074 case CERTIFICATE:
22075 case CONTRACT:
22076 case ENCRYPTION:
22077 case MASTER:
22078 case DATA:
22079 case SOURCE:
22080 case FILE:
22081 case FORMAT:
22082 case LIBRARY:
22083 case FULLTEXT:
22084 case MASK:
22085 case UNMASK:
22086 case MESSAGE:
22087 case REMOTE:
22088 case BINDING:
22089 case ROUTE:
22090 case SECURITY:
22091 case POLICY:
22092 case AGGREGATE:
22093 case QUEUE:
22094 case RULE:
22095 case SYNONYM:
22096 case COLLECTION:
22097 case SCRIPT:
22098 case KILL:
22099 case BACKUP:
22100 case LOG:
22101 case SHOWPLAN:
22102 case SUBSCRIBE:
22103 case QUERY:
22104 case NOTIFICATIONS:
22105 case CHECKPOINT:
22106 case SEQUENCE:
22107 case ABORT_AFTER_WAIT:
22108 case ALLOW_PAGE_LOCKS:
22109 case ALLOW_ROW_LOCKS:
22110 case ALL_SPARSE_COLUMNS:
22111 case BUCKET_COUNT:
22112 case COLUMNSTORE_ARCHIVE:
22113 case COLUMN_ENCRYPTION_KEY:
22114 case COLUMN_SET:
22115 case COMPRESSION_DELAY:
22116 case DATABASE_DEAULT:
22117 case DATA_COMPRESSION:
22118 case DATA_CONSISTENCY_CHECK:
22119 case ENCRYPTION_TYPE:
22120 case SYSTEM_TIME:
22121 case SYSTEM_VERSIONING:
22122 case TEXTIMAGE_ON:
22123 case WAIT_AT_LOW_PRIORITY:
22124 case STATISTICS_INCREMENTAL:
22125 case STATISTICS_NORECOMPUTE:
22126 case ROUND_ROBIN:
22127 case SCHEMA_AND_DATA:
22128 case SCHEMA_ONLY:
22129 case SORT_IN_TEMPDB:
22130 case IGNORE_DUP_KEY:
22131 case IMPLICIT_TRANSACTIONS:
22132 case MAX_DURATION:
22133 case MEMORY_OPTIMIZED:
22134 case MIGRATION_STATE:
22135 case PAD_INDEX:
22136 case REMOTE_DATA_ARCHIVE:
22137 case FILESTREAM_ON:
22138 case FILETABLE_COLLATE_FILENAME:
22139 case FILETABLE_DIRECTORY:
22140 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
22141 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
22142 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
22143 case FILTER_PREDICATE:
22144 case HISTORY_RETENTION_PERIOD:
22145 case HISTORY_TABLE:
22146 case LOCK_ESCALATION:
22147 case DROP_EXISTING:
22148 case ROW_NUMBER:
22149 case FIRST:
22150 case DATETIME2:
22151 case OUTPUT:
22152 case INSERTED:
22153 case DELETED:
22154 case FILENAME:
22155 case SIZE:
22156 case MAXSIZE:
22157 case FILEGROWTH:
22158 case UNLIMITED:
22159 case KB:
22160 case MB:
22161 case GB:
22162 case TB:
22163 case CONTAINS:
22164 case MEMORY_OPTIMIZED_DATA:
22165 case FILEGROUP:
22166 case NON_TRANSACTED_ACCESS:
22167 case DB_CHAINING:
22168 case TRUSTWORTHY:
22169 case FORWARD_ONLY:
22170 case KEYSET:
22171 case FAST_FORWARD:
22172 case SCROLL_LOCKS:
22173 case OPTIMISTIC:
22174 case TYPE_WARNING:
22175 case SCHEMABINDING:
22176 case CALLER:
22177 case OWNER:
22178 case SNAPSHOT:
22179 case REPEATABLE:
22180 case SERIALIZABLE:
22181 case NATIVE_COMPILATION:
22182 case VIEW_METADATA:
22183 case INSTEAD:
22184 case APPEND:
22185 case INCREMENT:
22186 case CACHE:
22187 case MINVALUE:
22188 case MAXVALUE:
22189 case RESTART:
22190 case LOB_COMPACTION:
22191 case COMPRESS_ALL_ROW_GROUPS:
22192 case REORGANIZE:
22193 case RESUME:
22194 case PAUSE:
22195 case ABORT:
22196 case ACCELERATED_DATABASE_RECOVERY:
22197 case PERSISTENT_VERSION_STORE_FILEGROUP:
22198 case IMMEDIATE:
22199 case NO_WAIT:
22200 case TARGET_RECOVERY_TIME:
22201 case SECONDS:
22202 case HONOR_BROKER_PRIORITY:
22203 case ERROR_BROKER_CONVERSATIONS:
22204 case NEW_BROKER:
22205 case DISABLE_BROKER:
22206 case ENABLE_BROKER:
22207 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
22208 case READ_COMMITTED_SNAPSHOT:
22209 case ALLOW_SNAPSHOT_ISOLATION:
22210 case RECURSIVE_TRIGGERS:
22211 case QUOTED_IDENTIFIER:
22212 case NUMERIC_ROUNDABORT:
22213 case CONCAT_NULL_YIELDS_NULL:
22214 case COMPATIBILITY_LEVEL:
22215 case ARITHABORT:
22216 case ANSI_WARNINGS:
22217 case ANSI_PADDING:
22218 case ANSI_NULLS:
22219 case ANSI_NULL_DEFAULT:
22220 case PAGE_VERIFY:
22221 case CHECKSUM:
22222 case TORN_PAGE_DETECTION:
22223 case BULK_LOGGED:
22224 case RECOVERY:
22225 case TOTAL_EXECUTION_CPU_TIME_MS:
22226 case TOTAL_COMPILE_CPU_TIME_MS:
22227 case STALE_CAPTURE_POLICY_THRESHOLD:
22228 case EXECUTION_COUNT:
22229 case QUERY_CAPTURE_POLICY:
22230 case WAIT_STATS_CAPTURE_MODE:
22231 case MAX_PLANS_PER_QUERY:
22232 case QUERY_CAPTURE_MODE:
22233 case SIZE_BASED_CLEANUP_MODE:
22234 case INTERVAL_LENGTH_MINUTES:
22235 case MAX_STORAGE_SIZE_MB:
22236 case DATA_FLUSH_INTERVAL_SECONDS:
22237 case CLEANUP_POLICY:
22238 case CUSTOM:
22239 case STALE_QUERY_THRESHOLD_DAYS:
22240 case OPERATION_MODE:
22241 case QUERY_STORE:
22242 case CURSOR_DEFAULT:
22243 case GLOBAL:
22244 case CURSOR_CLOSE_ON_COMMIT:
22245 case HOURS:
22246 case CHANGE_RETENTION:
22247 case AUTO_CLEANUP:
22248 case CHANGE_TRACKING:
22249 case AUTOMATIC_TUNING:
22250 case FORCE_LAST_GOOD_PLAN:
22251 case AUTO_UPDATE_STATISTICS_ASYNC:
22252 case AUTO_UPDATE_STATISTICS:
22253 case AUTO_SHRINK:
22254 case AUTO_CREATE_STATISTICS:
22255 case INCREMENTAL:
22256 case AUTO_CLOSE:
22257 case DATA_RETENTION:
22258 case TEMPORAL_HISTORY_RETENTION:
22259 case EDITION:
22260 case MIXED_PAGE_ALLOCATION:
22261 case DISABLED:
22262 case ALLOWED:
22263 case HADR:
22264 case MULTI_USER:
22265 case RESTRICTED_USER:
22266 case SINGLE_USER:
22267 case OFFLINE:
22268 case EMERGENCY:
22269 case SUSPEND:
22270 case DATE_CORRELATION_OPTIMIZATION:
22271 case ELASTIC_POOL:
22272 case SERVICE_OBJECTIVE:
22273 case DATABASE_NAME:
22274 case ALLOW_CONNECTIONS:
22275 case GEO:
22276 case NAMED:
22277 case DATEFIRST:
22278 case BACKUP_STORAGE_REDUNDANCY:
22279 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
22280 case SECONDARY:
22281 case FAILOVER:
22282 case DEFAULT_FULLTEXT_LANGUAGE:
22283 case DEFAULT_LANGUAGE:
22284 case INLINE:
22285 case NESTED_TRIGGERS:
22286 case TRANSFORM_NOISE_WORDS:
22287 case TWO_DIGIT_YEAR_CUTOFF:
22288 case PERSISTENT_LOG_BUFFER:
22289 case DIRECTORY_NAME:
22290 case DATEFORMAT:
22291 case DELAYED_DURABILITY:
22292 case AUTHORIZATION:
22293 case TRANSFER:
22294 case PROVIDER:
22295 case SEARCH:
22296 case MEMBER:
22297 case IDENTIFIER_:
22298 case DELIMITED_IDENTIFIER_:
22299 {
22300 setState(3218);
22301 constraintName();
22302 }
22303 break;
22304 default:
22305 throw new NoViableAltException(this);
22306 }
22307 }
22308 }
22309 catch (RecognitionException re) {
22310 _localctx.exception = re;
22311 _errHandler.reportError(this, re);
22312 _errHandler.recover(this, re);
22313 }
22314 finally {
22315 exitRule();
22316 }
22317 return _localctx;
22318 }
22319
22320 public static class AlterTableTriggerContext extends ParserRuleContext {
22321 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
22322 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
22323 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
22324 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
22325 public IgnoredIdentifiersContext ignoredIdentifiers() {
22326 return getRuleContext(IgnoredIdentifiersContext.class,0);
22327 }
22328 public AlterTableTriggerContext(ParserRuleContext parent, int invokingState) {
22329 super(parent, invokingState);
22330 }
22331 @Override public int getRuleIndex() { return RULE_alterTableTrigger; }
22332 @Override
22333 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22334 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTrigger(this);
22335 else return visitor.visitChildren(this);
22336 }
22337 }
22338
22339 public final AlterTableTriggerContext alterTableTrigger() throws RecognitionException {
22340 AlterTableTriggerContext _localctx = new AlterTableTriggerContext(_ctx, getState());
22341 enterRule(_localctx, 468, RULE_alterTableTrigger);
22342 int _la;
22343 try {
22344 enterOuterAlt(_localctx, 1);
22345 {
22346 setState(3221);
22347 _la = _input.LA(1);
22348 if ( !(_la==ENABLE || _la==DISABLE) ) {
22349 _errHandler.recoverInline(this);
22350 }
22351 else {
22352 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22353 _errHandler.reportMatch(this);
22354 consume();
22355 }
22356 setState(3222);
22357 match(TRIGGER);
22358 setState(3225);
22359 _errHandler.sync(this);
22360 switch (_input.LA(1)) {
22361 case ALL:
22362 {
22363 setState(3223);
22364 match(ALL);
22365 }
22366 break;
22367 case IDENTIFIER_:
22368 {
22369 setState(3224);
22370 ignoredIdentifiers();
22371 }
22372 break;
22373 default:
22374 throw new NoViableAltException(this);
22375 }
22376 }
22377 }
22378 catch (RecognitionException re) {
22379 _localctx.exception = re;
22380 _errHandler.reportError(this, re);
22381 _errHandler.recover(this, re);
22382 }
22383 finally {
22384 exitRule();
22385 }
22386 return _localctx;
22387 }
22388
22389 public static class AlterSwitchContext extends ParserRuleContext {
22390 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
22391 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
22392 public TableNameContext tableName() {
22393 return getRuleContext(TableNameContext.class,0);
22394 }
22395 public List<TerminalNode> PARTITION() { return getTokens(SQLServerStatementParser.PARTITION); }
22396 public TerminalNode PARTITION(int i) {
22397 return getToken(SQLServerStatementParser.PARTITION, i);
22398 }
22399 public List<ExprContext> expr() {
22400 return getRuleContexts(ExprContext.class);
22401 }
22402 public ExprContext expr(int i) {
22403 return getRuleContext(ExprContext.class,i);
22404 }
22405 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22406 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22407 public LowPriorityLockWaitContext lowPriorityLockWait() {
22408 return getRuleContext(LowPriorityLockWaitContext.class,0);
22409 }
22410 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22411 public AlterSwitchContext(ParserRuleContext parent, int invokingState) {
22412 super(parent, invokingState);
22413 }
22414 @Override public int getRuleIndex() { return RULE_alterSwitch; }
22415 @Override
22416 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22417 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSwitch(this);
22418 else return visitor.visitChildren(this);
22419 }
22420 }
22421
22422 public final AlterSwitchContext alterSwitch() throws RecognitionException {
22423 AlterSwitchContext _localctx = new AlterSwitchContext(_ctx, getState());
22424 enterRule(_localctx, 470, RULE_alterSwitch);
22425 int _la;
22426 try {
22427 enterOuterAlt(_localctx, 1);
22428 {
22429 setState(3227);
22430 match(SWITCH);
22431 setState(3230);
22432 _errHandler.sync(this);
22433 _la = _input.LA(1);
22434 if (_la==PARTITION) {
22435 {
22436 setState(3228);
22437 match(PARTITION);
22438 setState(3229);
22439 expr(0);
22440 }
22441 }
22442
22443 setState(3232);
22444 match(TO);
22445 setState(3233);
22446 tableName();
22447 setState(3236);
22448 _errHandler.sync(this);
22449 _la = _input.LA(1);
22450 if (_la==PARTITION) {
22451 {
22452 setState(3234);
22453 match(PARTITION);
22454 setState(3235);
22455 expr(0);
22456 }
22457 }
22458
22459 setState(3243);
22460 _errHandler.sync(this);
22461 switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) {
22462 case 1:
22463 {
22464 setState(3238);
22465 match(WITH);
22466 setState(3239);
22467 match(LP_);
22468 setState(3240);
22469 lowPriorityLockWait();
22470 setState(3241);
22471 match(RP_);
22472 }
22473 break;
22474 }
22475 }
22476 }
22477 catch (RecognitionException re) {
22478 _localctx.exception = re;
22479 _errHandler.reportError(this, re);
22480 _errHandler.recover(this, re);
22481 }
22482 finally {
22483 exitRule();
22484 }
22485 return _localctx;
22486 }
22487
22488 public static class AlterSetContext extends ParserRuleContext {
22489 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
22490 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22491 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22492 public SetFileStreamClauseContext setFileStreamClause() {
22493 return getRuleContext(SetFileStreamClauseContext.class,0);
22494 }
22495 public SetSystemVersionClauseContext setSystemVersionClause() {
22496 return getRuleContext(SetSystemVersionClauseContext.class,0);
22497 }
22498 public AlterSetContext(ParserRuleContext parent, int invokingState) {
22499 super(parent, invokingState);
22500 }
22501 @Override public int getRuleIndex() { return RULE_alterSet; }
22502 @Override
22503 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22504 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSet(this);
22505 else return visitor.visitChildren(this);
22506 }
22507 }
22508
22509 public final AlterSetContext alterSet() throws RecognitionException {
22510 AlterSetContext _localctx = new AlterSetContext(_ctx, getState());
22511 enterRule(_localctx, 472, RULE_alterSet);
22512 try {
22513 enterOuterAlt(_localctx, 1);
22514 {
22515 setState(3245);
22516 match(SET);
22517 setState(3246);
22518 match(LP_);
22519 setState(3249);
22520 _errHandler.sync(this);
22521 switch (_input.LA(1)) {
22522 case FILESTREAM_ON:
22523 {
22524 setState(3247);
22525 setFileStreamClause();
22526 }
22527 break;
22528 case SYSTEM_VERSIONING:
22529 {
22530 setState(3248);
22531 setSystemVersionClause();
22532 }
22533 break;
22534 default:
22535 throw new NoViableAltException(this);
22536 }
22537 setState(3251);
22538 match(RP_);
22539 }
22540 }
22541 catch (RecognitionException re) {
22542 _localctx.exception = re;
22543 _errHandler.reportError(this, re);
22544 _errHandler.recover(this, re);
22545 }
22546 finally {
22547 exitRule();
22548 }
22549 return _localctx;
22550 }
22551
22552 public static class SetFileStreamClauseContext extends ParserRuleContext {
22553 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
22554 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22555 public SchemaNameContext schemaName() {
22556 return getRuleContext(SchemaNameContext.class,0);
22557 }
22558 public IgnoredIdentifierContext ignoredIdentifier() {
22559 return getRuleContext(IgnoredIdentifierContext.class,0);
22560 }
22561 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
22562 public SetFileStreamClauseContext(ParserRuleContext parent, int invokingState) {
22563 super(parent, invokingState);
22564 }
22565 @Override public int getRuleIndex() { return RULE_setFileStreamClause; }
22566 @Override
22567 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22568 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetFileStreamClause(this);
22569 else return visitor.visitChildren(this);
22570 }
22571 }
22572
22573 public final SetFileStreamClauseContext setFileStreamClause() throws RecognitionException {
22574 SetFileStreamClauseContext _localctx = new SetFileStreamClauseContext(_ctx, getState());
22575 enterRule(_localctx, 474, RULE_setFileStreamClause);
22576 try {
22577 enterOuterAlt(_localctx, 1);
22578 {
22579 setState(3253);
22580 match(FILESTREAM_ON);
22581 setState(3254);
22582 match(EQ_);
22583 setState(3258);
22584 _errHandler.sync(this);
22585 switch ( getInterpreter().adaptivePredict(_input,297,_ctx) ) {
22586 case 1:
22587 {
22588 setState(3255);
22589 schemaName();
22590 }
22591 break;
22592 case 2:
22593 {
22594 setState(3256);
22595 ignoredIdentifier();
22596 }
22597 break;
22598 case 3:
22599 {
22600 setState(3257);
22601 match(STRING_);
22602 }
22603 break;
22604 }
22605 }
22606 }
22607 catch (RecognitionException re) {
22608 _localctx.exception = re;
22609 _errHandler.reportError(this, re);
22610 _errHandler.recover(this, re);
22611 }
22612 finally {
22613 exitRule();
22614 }
22615 return _localctx;
22616 }
22617
22618 public static class SetSystemVersionClauseContext extends ParserRuleContext {
22619 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
22620 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22621 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
22622 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22623 public AlterSetOnClauseContext alterSetOnClause() {
22624 return getRuleContext(AlterSetOnClauseContext.class,0);
22625 }
22626 public SetSystemVersionClauseContext(ParserRuleContext parent, int invokingState) {
22627 super(parent, invokingState);
22628 }
22629 @Override public int getRuleIndex() { return RULE_setSystemVersionClause; }
22630 @Override
22631 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22632 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetSystemVersionClause(this);
22633 else return visitor.visitChildren(this);
22634 }
22635 }
22636
22637 public final SetSystemVersionClauseContext setSystemVersionClause() throws RecognitionException {
22638 SetSystemVersionClauseContext _localctx = new SetSystemVersionClauseContext(_ctx, getState());
22639 enterRule(_localctx, 476, RULE_setSystemVersionClause);
22640 int _la;
22641 try {
22642 enterOuterAlt(_localctx, 1);
22643 {
22644 setState(3260);
22645 match(SYSTEM_VERSIONING);
22646 setState(3261);
22647 match(EQ_);
22648 setState(3267);
22649 _errHandler.sync(this);
22650 switch (_input.LA(1)) {
22651 case OFF:
22652 {
22653 setState(3262);
22654 match(OFF);
22655 }
22656 break;
22657 case ON:
22658 {
22659 setState(3263);
22660 match(ON);
22661 setState(3265);
22662 _errHandler.sync(this);
22663 _la = _input.LA(1);
22664 if (_la==LP_) {
22665 {
22666 setState(3264);
22667 alterSetOnClause();
22668 }
22669 }
22670
22671 }
22672 break;
22673 default:
22674 throw new NoViableAltException(this);
22675 }
22676 }
22677 }
22678 catch (RecognitionException re) {
22679 _localctx.exception = re;
22680 _errHandler.reportError(this, re);
22681 _errHandler.recover(this, re);
22682 }
22683 finally {
22684 exitRule();
22685 }
22686 return _localctx;
22687 }
22688
22689 public static class AlterSetOnClauseContext extends ParserRuleContext {
22690 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22691 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22692 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
22693 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22694 public TableNameContext tableName() {
22695 return getRuleContext(TableNameContext.class,0);
22696 }
22697 public DataConsistencyCheckClauseContext dataConsistencyCheckClause() {
22698 return getRuleContext(DataConsistencyCheckClauseContext.class,0);
22699 }
22700 public HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() {
22701 return getRuleContext(HistoryRetentionPeriodClauseContext.class,0);
22702 }
22703 public AlterSetOnClauseContext(ParserRuleContext parent, int invokingState) {
22704 super(parent, invokingState);
22705 }
22706 @Override public int getRuleIndex() { return RULE_alterSetOnClause; }
22707 @Override
22708 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22709 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSetOnClause(this);
22710 else return visitor.visitChildren(this);
22711 }
22712 }
22713
22714 public final AlterSetOnClauseContext alterSetOnClause() throws RecognitionException {
22715 AlterSetOnClauseContext _localctx = new AlterSetOnClauseContext(_ctx, getState());
22716 enterRule(_localctx, 478, RULE_alterSetOnClause);
22717 int _la;
22718 try {
22719 enterOuterAlt(_localctx, 1);
22720 {
22721 setState(3269);
22722 match(LP_);
22723 setState(3273);
22724 _errHandler.sync(this);
22725 _la = _input.LA(1);
22726 if (_la==HISTORY_TABLE) {
22727 {
22728 setState(3270);
22729 match(HISTORY_TABLE);
22730 setState(3271);
22731 match(EQ_);
22732 setState(3272);
22733 tableName();
22734 }
22735 }
22736
22737 setState(3276);
22738 _errHandler.sync(this);
22739 switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) {
22740 case 1:
22741 {
22742 setState(3275);
22743 dataConsistencyCheckClause();
22744 }
22745 break;
22746 }
22747 setState(3279);
22748 _errHandler.sync(this);
22749 _la = _input.LA(1);
22750 if (_la==COMMA_ || _la==HISTORY_RETENTION_PERIOD) {
22751 {
22752 setState(3278);
22753 historyRetentionPeriodClause();
22754 }
22755 }
22756
22757 setState(3281);
22758 match(RP_);
22759 }
22760 }
22761 catch (RecognitionException re) {
22762 _localctx.exception = re;
22763 _errHandler.reportError(this, re);
22764 _errHandler.recover(this, re);
22765 }
22766 finally {
22767 exitRule();
22768 }
22769 return _localctx;
22770 }
22771
22772 public static class DataConsistencyCheckClauseContext extends ParserRuleContext {
22773 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
22774 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22775 public OnOffOptionContext onOffOption() {
22776 return getRuleContext(OnOffOptionContext.class,0);
22777 }
22778 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
22779 public DataConsistencyCheckClauseContext(ParserRuleContext parent, int invokingState) {
22780 super(parent, invokingState);
22781 }
22782 @Override public int getRuleIndex() { return RULE_dataConsistencyCheckClause; }
22783 @Override
22784 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22785 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataConsistencyCheckClause(this);
22786 else return visitor.visitChildren(this);
22787 }
22788 }
22789
22790 public final DataConsistencyCheckClauseContext dataConsistencyCheckClause() throws RecognitionException {
22791 DataConsistencyCheckClauseContext _localctx = new DataConsistencyCheckClauseContext(_ctx, getState());
22792 enterRule(_localctx, 480, RULE_dataConsistencyCheckClause);
22793 int _la;
22794 try {
22795 enterOuterAlt(_localctx, 1);
22796 {
22797 setState(3284);
22798 _errHandler.sync(this);
22799 _la = _input.LA(1);
22800 if (_la==COMMA_) {
22801 {
22802 setState(3283);
22803 match(COMMA_);
22804 }
22805 }
22806
22807 setState(3286);
22808 match(DATA_CONSISTENCY_CHECK);
22809 setState(3287);
22810 match(EQ_);
22811 setState(3288);
22812 onOffOption();
22813 }
22814 }
22815 catch (RecognitionException re) {
22816 _localctx.exception = re;
22817 _errHandler.reportError(this, re);
22818 _errHandler.recover(this, re);
22819 }
22820 finally {
22821 exitRule();
22822 }
22823 return _localctx;
22824 }
22825
22826 public static class HistoryRetentionPeriodClauseContext extends ParserRuleContext {
22827 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
22828 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22829 public HistoryRetentionPeriodContext historyRetentionPeriod() {
22830 return getRuleContext(HistoryRetentionPeriodContext.class,0);
22831 }
22832 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
22833 public HistoryRetentionPeriodClauseContext(ParserRuleContext parent, int invokingState) {
22834 super(parent, invokingState);
22835 }
22836 @Override public int getRuleIndex() { return RULE_historyRetentionPeriodClause; }
22837 @Override
22838 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22839 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriodClause(this);
22840 else return visitor.visitChildren(this);
22841 }
22842 }
22843
22844 public final HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() throws RecognitionException {
22845 HistoryRetentionPeriodClauseContext _localctx = new HistoryRetentionPeriodClauseContext(_ctx, getState());
22846 enterRule(_localctx, 482, RULE_historyRetentionPeriodClause);
22847 int _la;
22848 try {
22849 enterOuterAlt(_localctx, 1);
22850 {
22851 setState(3291);
22852 _errHandler.sync(this);
22853 _la = _input.LA(1);
22854 if (_la==COMMA_) {
22855 {
22856 setState(3290);
22857 match(COMMA_);
22858 }
22859 }
22860
22861 setState(3293);
22862 match(HISTORY_RETENTION_PERIOD);
22863 setState(3294);
22864 match(EQ_);
22865 setState(3295);
22866 historyRetentionPeriod();
22867 }
22868 }
22869 catch (RecognitionException re) {
22870 _localctx.exception = re;
22871 _errHandler.reportError(this, re);
22872 _errHandler.recover(this, re);
22873 }
22874 finally {
22875 exitRule();
22876 }
22877 return _localctx;
22878 }
22879
22880 public static class HistoryRetentionPeriodContext extends ParserRuleContext {
22881 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
22882 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
22883 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
22884 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
22885 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
22886 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
22887 public TerminalNode MONTH() { return getToken(SQLServerStatementParser.MONTH, 0); }
22888 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
22889 public TerminalNode YEAR() { return getToken(SQLServerStatementParser.YEAR, 0); }
22890 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
22891 public HistoryRetentionPeriodContext(ParserRuleContext parent, int invokingState) {
22892 super(parent, invokingState);
22893 }
22894 @Override public int getRuleIndex() { return RULE_historyRetentionPeriod; }
22895 @Override
22896 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22897 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriod(this);
22898 else return visitor.visitChildren(this);
22899 }
22900 }
22901
22902 public final HistoryRetentionPeriodContext historyRetentionPeriod() throws RecognitionException {
22903 HistoryRetentionPeriodContext _localctx = new HistoryRetentionPeriodContext(_ctx, getState());
22904 enterRule(_localctx, 484, RULE_historyRetentionPeriod);
22905 int _la;
22906 try {
22907 setState(3300);
22908 _errHandler.sync(this);
22909 switch (_input.LA(1)) {
22910 case INFINITE:
22911 enterOuterAlt(_localctx, 1);
22912 {
22913 setState(3297);
22914 match(INFINITE);
22915 }
22916 break;
22917 case NUMBER_:
22918 enterOuterAlt(_localctx, 2);
22919 {
22920 {
22921 setState(3298);
22922 match(NUMBER_);
22923 setState(3299);
22924 _la = _input.LA(1);
22925 if ( !(((((_la - 140)) & ~0x3f) == 0 && ((1L << (_la - 140)) & ((1L << (YEAR - 140)) | (1L << (MONTH - 140)) | (1L << (WEEK - 140)) | (1L << (DAY - 140)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)))) != 0)) ) {
22926 _errHandler.recoverInline(this);
22927 }
22928 else {
22929 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22930 _errHandler.reportMatch(this);
22931 consume();
22932 }
22933 }
22934 }
22935 break;
22936 default:
22937 throw new NoViableAltException(this);
22938 }
22939 }
22940 catch (RecognitionException re) {
22941 _localctx.exception = re;
22942 _errHandler.reportError(this, re);
22943 _errHandler.recover(this, re);
22944 }
22945 finally {
22946 exitRule();
22947 }
22948 return _localctx;
22949 }
22950
22951 public static class AlterTableTableIndexContext extends ParserRuleContext {
22952 public IndexWithNameContext indexWithName() {
22953 return getRuleContext(IndexWithNameContext.class,0);
22954 }
22955 public IndexNonClusterClauseContext indexNonClusterClause() {
22956 return getRuleContext(IndexNonClusterClauseContext.class,0);
22957 }
22958 public IndexClusterClauseContext indexClusterClause() {
22959 return getRuleContext(IndexClusterClauseContext.class,0);
22960 }
22961 public AlterTableTableIndexContext(ParserRuleContext parent, int invokingState) {
22962 super(parent, invokingState);
22963 }
22964 @Override public int getRuleIndex() { return RULE_alterTableTableIndex; }
22965 @Override
22966 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22967 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTableIndex(this);
22968 else return visitor.visitChildren(this);
22969 }
22970 }
22971
22972 public final AlterTableTableIndexContext alterTableTableIndex() throws RecognitionException {
22973 AlterTableTableIndexContext _localctx = new AlterTableTableIndexContext(_ctx, getState());
22974 enterRule(_localctx, 486, RULE_alterTableTableIndex);
22975 try {
22976 enterOuterAlt(_localctx, 1);
22977 {
22978 setState(3302);
22979 indexWithName();
22980 setState(3305);
22981 _errHandler.sync(this);
22982 switch (_input.LA(1)) {
22983 case NONCLUSTERED:
22984 {
22985 setState(3303);
22986 indexNonClusterClause();
22987 }
22988 break;
22989 case CLUSTERED:
22990 {
22991 setState(3304);
22992 indexClusterClause();
22993 }
22994 break;
22995 default:
22996 throw new NoViableAltException(this);
22997 }
22998 }
22999 }
23000 catch (RecognitionException re) {
23001 _localctx.exception = re;
23002 _errHandler.reportError(this, re);
23003 _errHandler.recover(this, re);
23004 }
23005 finally {
23006 exitRule();
23007 }
23008 return _localctx;
23009 }
23010
23011 public static class IndexWithNameContext extends ParserRuleContext {
23012 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
23013 public IndexNameContext indexName() {
23014 return getRuleContext(IndexNameContext.class,0);
23015 }
23016 public IndexWithNameContext(ParserRuleContext parent, int invokingState) {
23017 super(parent, invokingState);
23018 }
23019 @Override public int getRuleIndex() { return RULE_indexWithName; }
23020 @Override
23021 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23022 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexWithName(this);
23023 else return visitor.visitChildren(this);
23024 }
23025 }
23026
23027 public final IndexWithNameContext indexWithName() throws RecognitionException {
23028 IndexWithNameContext _localctx = new IndexWithNameContext(_ctx, getState());
23029 enterRule(_localctx, 488, RULE_indexWithName);
23030 try {
23031 enterOuterAlt(_localctx, 1);
23032 {
23033 setState(3307);
23034 match(INDEX);
23035 setState(3308);
23036 indexName();
23037 }
23038 }
23039 catch (RecognitionException re) {
23040 _localctx.exception = re;
23041 _errHandler.reportError(this, re);
23042 _errHandler.recover(this, re);
23043 }
23044 finally {
23045 exitRule();
23046 }
23047 return _localctx;
23048 }
23049
23050 public static class IndexNonClusterClauseContext extends ParserRuleContext {
23051 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
23052 public HashWithBucketContext hashWithBucket() {
23053 return getRuleContext(HashWithBucketContext.class,0);
23054 }
23055 public ColumnNamesWithSortContext columnNamesWithSort() {
23056 return getRuleContext(ColumnNamesWithSortContext.class,0);
23057 }
23058 public AlterTableIndexOnClauseContext alterTableIndexOnClause() {
23059 return getRuleContext(AlterTableIndexOnClauseContext.class,0);
23060 }
23061 public IndexNonClusterClauseContext(ParserRuleContext parent, int invokingState) {
23062 super(parent, invokingState);
23063 }
23064 @Override public int getRuleIndex() { return RULE_indexNonClusterClause; }
23065 @Override
23066 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23067 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNonClusterClause(this);
23068 else return visitor.visitChildren(this);
23069 }
23070 }
23071
23072 public final IndexNonClusterClauseContext indexNonClusterClause() throws RecognitionException {
23073 IndexNonClusterClauseContext _localctx = new IndexNonClusterClauseContext(_ctx, getState());
23074 enterRule(_localctx, 490, RULE_indexNonClusterClause);
23075 int _la;
23076 try {
23077 enterOuterAlt(_localctx, 1);
23078 {
23079 setState(3310);
23080 match(NONCLUSTERED);
23081 setState(3316);
23082 _errHandler.sync(this);
23083 switch (_input.LA(1)) {
23084 case HASH:
23085 {
23086 setState(3311);
23087 hashWithBucket();
23088 }
23089 break;
23090 case LP_:
23091 {
23092 setState(3312);
23093 columnNamesWithSort();
23094 setState(3314);
23095 _errHandler.sync(this);
23096 _la = _input.LA(1);
23097 if (_la==ON || _la==DEFAULT) {
23098 {
23099 setState(3313);
23100 alterTableIndexOnClause();
23101 }
23102 }
23103
23104 }
23105 break;
23106 default:
23107 throw new NoViableAltException(this);
23108 }
23109 }
23110 }
23111 catch (RecognitionException re) {
23112 _localctx.exception = re;
23113 _errHandler.reportError(this, re);
23114 _errHandler.recover(this, re);
23115 }
23116 finally {
23117 exitRule();
23118 }
23119 return _localctx;
23120 }
23121
23122 public static class AlterTableIndexOnClauseContext extends ParserRuleContext {
23123 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23124 public IgnoredIdentifierContext ignoredIdentifier() {
23125 return getRuleContext(IgnoredIdentifierContext.class,0);
23126 }
23127 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
23128 public AlterTableIndexOnClauseContext(ParserRuleContext parent, int invokingState) {
23129 super(parent, invokingState);
23130 }
23131 @Override public int getRuleIndex() { return RULE_alterTableIndexOnClause; }
23132 @Override
23133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableIndexOnClause(this);
23135 else return visitor.visitChildren(this);
23136 }
23137 }
23138
23139 public final AlterTableIndexOnClauseContext alterTableIndexOnClause() throws RecognitionException {
23140 AlterTableIndexOnClauseContext _localctx = new AlterTableIndexOnClauseContext(_ctx, getState());
23141 enterRule(_localctx, 492, RULE_alterTableIndexOnClause);
23142 try {
23143 setState(3321);
23144 _errHandler.sync(this);
23145 switch (_input.LA(1)) {
23146 case ON:
23147 enterOuterAlt(_localctx, 1);
23148 {
23149 setState(3318);
23150 match(ON);
23151 setState(3319);
23152 ignoredIdentifier();
23153 }
23154 break;
23155 case DEFAULT:
23156 enterOuterAlt(_localctx, 2);
23157 {
23158 setState(3320);
23159 match(DEFAULT);
23160 }
23161 break;
23162 default:
23163 throw new NoViableAltException(this);
23164 }
23165 }
23166 catch (RecognitionException re) {
23167 _localctx.exception = re;
23168 _errHandler.reportError(this, re);
23169 _errHandler.recover(this, re);
23170 }
23171 finally {
23172 exitRule();
23173 }
23174 return _localctx;
23175 }
23176
23177 public static class IndexClusterClauseContext extends ParserRuleContext {
23178 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
23179 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
23180 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
23181 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
23182 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23183 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
23184 public IndexOnClauseContext indexOnClause() {
23185 return getRuleContext(IndexOnClauseContext.class,0);
23186 }
23187 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
23188 public IndexClusterClauseContext(ParserRuleContext parent, int invokingState) {
23189 super(parent, invokingState);
23190 }
23191 @Override public int getRuleIndex() { return RULE_indexClusterClause; }
23192 @Override
23193 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23194 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexClusterClause(this);
23195 else return visitor.visitChildren(this);
23196 }
23197 }
23198
23199 public final IndexClusterClauseContext indexClusterClause() throws RecognitionException {
23200 IndexClusterClauseContext _localctx = new IndexClusterClauseContext(_ctx, getState());
23201 enterRule(_localctx, 494, RULE_indexClusterClause);
23202 int _la;
23203 try {
23204 enterOuterAlt(_localctx, 1);
23205 {
23206 setState(3323);
23207 match(CLUSTERED);
23208 setState(3324);
23209 match(COLUMNSTORE);
23210 setState(3332);
23211 _errHandler.sync(this);
23212 switch ( getInterpreter().adaptivePredict(_input,311,_ctx) ) {
23213 case 1:
23214 {
23215 setState(3325);
23216 match(WITH);
23217 setState(3326);
23218 match(COMPRESSION_DELAY);
23219 setState(3327);
23220 match(EQ_);
23221 setState(3328);
23222 match(NUMBER_);
23223 setState(3330);
23224 _errHandler.sync(this);
23225 _la = _input.LA(1);
23226 if (_la==MINUTES) {
23227 {
23228 setState(3329);
23229 match(MINUTES);
23230 }
23231 }
23232
23233 }
23234 break;
23235 }
23236 setState(3335);
23237 _errHandler.sync(this);
23238 _la = _input.LA(1);
23239 if (_la==ON) {
23240 {
23241 setState(3334);
23242 indexOnClause();
23243 }
23244 }
23245
23246 }
23247 }
23248 catch (RecognitionException re) {
23249 _localctx.exception = re;
23250 _errHandler.reportError(this, re);
23251 _errHandler.recover(this, re);
23252 }
23253 finally {
23254 exitRule();
23255 }
23256 return _localctx;
23257 }
23258
23259 public static class AlterTableOptionContext extends ParserRuleContext {
23260 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
23261 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23262 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
23263 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23264 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23265 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
23266 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
23267 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
23268 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
23269 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23270 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
23271 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
23272 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
23273 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
23274 public OnHistoryTableClauseContext onHistoryTableClause() {
23275 return getRuleContext(OnHistoryTableClauseContext.class,0);
23276 }
23277 public AlterTableOptionContext(ParserRuleContext parent, int invokingState) {
23278 super(parent, invokingState);
23279 }
23280 @Override public int getRuleIndex() { return RULE_alterTableOption; }
23281 @Override
23282 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23283 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableOption(this);
23284 else return visitor.visitChildren(this);
23285 }
23286 }
23287
23288 public final AlterTableOptionContext alterTableOption() throws RecognitionException {
23289 AlterTableOptionContext _localctx = new AlterTableOptionContext(_ctx, getState());
23290 enterRule(_localctx, 496, RULE_alterTableOption);
23291 int _la;
23292 try {
23293 setState(3355);
23294 _errHandler.sync(this);
23295 switch (_input.LA(1)) {
23296 case SET:
23297 enterOuterAlt(_localctx, 1);
23298 {
23299 setState(3337);
23300 match(SET);
23301 setState(3338);
23302 match(LP_);
23303 setState(3339);
23304 match(LOCK_ESCALATION);
23305 setState(3340);
23306 match(EQ_);
23307 setState(3341);
23308 _la = _input.LA(1);
23309 if ( !(_la==TABLE || _la==DISABLE || _la==AUTO) ) {
23310 _errHandler.recoverInline(this);
23311 }
23312 else {
23313 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23314 _errHandler.reportMatch(this);
23315 consume();
23316 }
23317 setState(3342);
23318 match(RP_);
23319 }
23320 break;
23321 case MEMORY_OPTIMIZED:
23322 enterOuterAlt(_localctx, 2);
23323 {
23324 setState(3343);
23325 match(MEMORY_OPTIMIZED);
23326 setState(3344);
23327 match(EQ_);
23328 setState(3345);
23329 match(ON);
23330 }
23331 break;
23332 case DURABILITY:
23333 enterOuterAlt(_localctx, 3);
23334 {
23335 setState(3346);
23336 match(DURABILITY);
23337 setState(3347);
23338 match(EQ_);
23339 setState(3348);
23340 _la = _input.LA(1);
23341 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
23342 _errHandler.recoverInline(this);
23343 }
23344 else {
23345 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23346 _errHandler.reportMatch(this);
23347 consume();
23348 }
23349 }
23350 break;
23351 case SYSTEM_VERSIONING:
23352 enterOuterAlt(_localctx, 4);
23353 {
23354 setState(3349);
23355 match(SYSTEM_VERSIONING);
23356 setState(3350);
23357 match(EQ_);
23358 setState(3351);
23359 match(ON);
23360 setState(3353);
23361 _errHandler.sync(this);
23362 _la = _input.LA(1);
23363 if (_la==LP_) {
23364 {
23365 setState(3352);
23366 onHistoryTableClause();
23367 }
23368 }
23369
23370 }
23371 break;
23372 default:
23373 throw new NoViableAltException(this);
23374 }
23375 }
23376 catch (RecognitionException re) {
23377 _localctx.exception = re;
23378 _errHandler.reportError(this, re);
23379 _errHandler.recover(this, re);
23380 }
23381 finally {
23382 exitRule();
23383 }
23384 return _localctx;
23385 }
23386
23387 public static class OnHistoryTableClauseContext extends ParserRuleContext {
23388 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23389 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
23390 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
23391 public TerminalNode EQ_(int i) {
23392 return getToken(SQLServerStatementParser.EQ_, i);
23393 }
23394 public TableNameContext tableName() {
23395 return getRuleContext(TableNameContext.class,0);
23396 }
23397 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23398 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
23399 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
23400 public OnOffOptionContext onOffOption() {
23401 return getRuleContext(OnOffOptionContext.class,0);
23402 }
23403 public OnHistoryTableClauseContext(ParserRuleContext parent, int invokingState) {
23404 super(parent, invokingState);
23405 }
23406 @Override public int getRuleIndex() { return RULE_onHistoryTableClause; }
23407 @Override
23408 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23409 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnHistoryTableClause(this);
23410 else return visitor.visitChildren(this);
23411 }
23412 }
23413
23414 public final OnHistoryTableClauseContext onHistoryTableClause() throws RecognitionException {
23415 OnHistoryTableClauseContext _localctx = new OnHistoryTableClauseContext(_ctx, getState());
23416 enterRule(_localctx, 498, RULE_onHistoryTableClause);
23417 int _la;
23418 try {
23419 enterOuterAlt(_localctx, 1);
23420 {
23421 setState(3357);
23422 match(LP_);
23423 setState(3358);
23424 match(HISTORY_TABLE);
23425 setState(3359);
23426 match(EQ_);
23427 setState(3360);
23428 tableName();
23429 setState(3365);
23430 _errHandler.sync(this);
23431 _la = _input.LA(1);
23432 if (_la==COMMA_) {
23433 {
23434 setState(3361);
23435 match(COMMA_);
23436 setState(3362);
23437 match(DATA_CONSISTENCY_CHECK);
23438 setState(3363);
23439 match(EQ_);
23440 setState(3364);
23441 onOffOption();
23442 }
23443 }
23444
23445 setState(3367);
23446 match(RP_);
23447 }
23448 }
23449 catch (RecognitionException re) {
23450 _localctx.exception = re;
23451 _errHandler.reportError(this, re);
23452 _errHandler.recover(this, re);
23453 }
23454 finally {
23455 exitRule();
23456 }
23457 return _localctx;
23458 }
23459
23460 public static class CreateDatabaseClauseContext extends ParserRuleContext {
23461 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
23462 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23463 public FileDefinitionClauseContext fileDefinitionClause() {
23464 return getRuleContext(FileDefinitionClauseContext.class,0);
23465 }
23466 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
23467 public IgnoredIdentifierContext ignoredIdentifier() {
23468 return getRuleContext(IgnoredIdentifierContext.class,0);
23469 }
23470 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
23471 public List<DatabaseOptionContext> databaseOption() {
23472 return getRuleContexts(DatabaseOptionContext.class);
23473 }
23474 public DatabaseOptionContext databaseOption(int i) {
23475 return getRuleContext(DatabaseOptionContext.class,i);
23476 }
23477 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
23478 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
23479 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23480 public TerminalNode COMMA_(int i) {
23481 return getToken(SQLServerStatementParser.COMMA_, i);
23482 }
23483 public CreateDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
23484 super(parent, invokingState);
23485 }
23486 @Override public int getRuleIndex() { return RULE_createDatabaseClause; }
23487 @Override
23488 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23489 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabaseClause(this);
23490 else return visitor.visitChildren(this);
23491 }
23492 }
23493
23494 public final CreateDatabaseClauseContext createDatabaseClause() throws RecognitionException {
23495 CreateDatabaseClauseContext _localctx = new CreateDatabaseClauseContext(_ctx, getState());
23496 enterRule(_localctx, 500, RULE_createDatabaseClause);
23497 int _la;
23498 try {
23499 enterOuterAlt(_localctx, 1);
23500 {
23501 setState(3372);
23502 _errHandler.sync(this);
23503 _la = _input.LA(1);
23504 if (_la==CONTAINMENT) {
23505 {
23506 setState(3369);
23507 match(CONTAINMENT);
23508 setState(3370);
23509 match(EQ_);
23510 setState(3371);
23511 _la = _input.LA(1);
23512 if ( !(_la==NONE || _la==PARTIAL) ) {
23513 _errHandler.recoverInline(this);
23514 }
23515 else {
23516 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23517 _errHandler.reportMatch(this);
23518 consume();
23519 }
23520 }
23521 }
23522
23523 setState(3375);
23524 _errHandler.sync(this);
23525 _la = _input.LA(1);
23526 if (_la==ON) {
23527 {
23528 setState(3374);
23529 fileDefinitionClause();
23530 }
23531 }
23532
23533 setState(3379);
23534 _errHandler.sync(this);
23535 _la = _input.LA(1);
23536 if (_la==COLLATE) {
23537 {
23538 setState(3377);
23539 match(COLLATE);
23540 setState(3378);
23541 ignoredIdentifier();
23542 }
23543 }
23544
23545 setState(3390);
23546 _errHandler.sync(this);
23547 _la = _input.LA(1);
23548 if (_la==WITH) {
23549 {
23550 setState(3381);
23551 match(WITH);
23552 setState(3382);
23553 databaseOption();
23554 setState(3387);
23555 _errHandler.sync(this);
23556 _la = _input.LA(1);
23557 while (_la==COMMA_) {
23558 {
23559 {
23560 setState(3383);
23561 match(COMMA_);
23562 setState(3384);
23563 databaseOption();
23564 }
23565 }
23566 setState(3389);
23567 _errHandler.sync(this);
23568 _la = _input.LA(1);
23569 }
23570 }
23571 }
23572
23573 }
23574 }
23575 catch (RecognitionException re) {
23576 _localctx.exception = re;
23577 _errHandler.reportError(this, re);
23578 _errHandler.recover(this, re);
23579 }
23580 finally {
23581 exitRule();
23582 }
23583 return _localctx;
23584 }
23585
23586 public static class FileDefinitionClauseContext extends ParserRuleContext {
23587 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23588 public List<FileSpecContext> fileSpec() {
23589 return getRuleContexts(FileSpecContext.class);
23590 }
23591 public FileSpecContext fileSpec(int i) {
23592 return getRuleContext(FileSpecContext.class,i);
23593 }
23594 public DatabaseLogOnsContext databaseLogOns() {
23595 return getRuleContext(DatabaseLogOnsContext.class,0);
23596 }
23597 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
23598 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23599 public TerminalNode COMMA_(int i) {
23600 return getToken(SQLServerStatementParser.COMMA_, i);
23601 }
23602 public List<DatabaseFileGroupContext> databaseFileGroup() {
23603 return getRuleContexts(DatabaseFileGroupContext.class);
23604 }
23605 public DatabaseFileGroupContext databaseFileGroup(int i) {
23606 return getRuleContext(DatabaseFileGroupContext.class,i);
23607 }
23608 public FileDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
23609 super(parent, invokingState);
23610 }
23611 @Override public int getRuleIndex() { return RULE_fileDefinitionClause; }
23612 @Override
23613 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23614 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileDefinitionClause(this);
23615 else return visitor.visitChildren(this);
23616 }
23617 }
23618
23619 public final FileDefinitionClauseContext fileDefinitionClause() throws RecognitionException {
23620 FileDefinitionClauseContext _localctx = new FileDefinitionClauseContext(_ctx, getState());
23621 enterRule(_localctx, 502, RULE_fileDefinitionClause);
23622 int _la;
23623 try {
23624 int _alt;
23625 enterOuterAlt(_localctx, 1);
23626 {
23627 setState(3392);
23628 match(ON);
23629 setState(3394);
23630 _errHandler.sync(this);
23631 _la = _input.LA(1);
23632 if (_la==PRIMARY) {
23633 {
23634 setState(3393);
23635 match(PRIMARY);
23636 }
23637 }
23638
23639 setState(3396);
23640 fileSpec();
23641 setState(3401);
23642 _errHandler.sync(this);
23643 _alt = getInterpreter().adaptivePredict(_input,322,_ctx);
23644 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
23645 if ( _alt==1 ) {
23646 {
23647 {
23648 setState(3397);
23649 match(COMMA_);
23650 setState(3398);
23651 fileSpec();
23652 }
23653 }
23654 }
23655 setState(3403);
23656 _errHandler.sync(this);
23657 _alt = getInterpreter().adaptivePredict(_input,322,_ctx);
23658 }
23659 setState(3408);
23660 _errHandler.sync(this);
23661 _la = _input.LA(1);
23662 while (_la==COMMA_) {
23663 {
23664 {
23665 setState(3404);
23666 match(COMMA_);
23667 setState(3405);
23668 databaseFileGroup();
23669 }
23670 }
23671 setState(3410);
23672 _errHandler.sync(this);
23673 _la = _input.LA(1);
23674 }
23675 setState(3411);
23676 databaseLogOns();
23677 }
23678 }
23679 catch (RecognitionException re) {
23680 _localctx.exception = re;
23681 _errHandler.reportError(this, re);
23682 _errHandler.recover(this, re);
23683 }
23684 finally {
23685 exitRule();
23686 }
23687 return _localctx;
23688 }
23689
23690 public static class DatabaseOptionContext extends ParserRuleContext {
23691 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
23692 public List<FileStreamOptionContext> fileStreamOption() {
23693 return getRuleContexts(FileStreamOptionContext.class);
23694 }
23695 public FileStreamOptionContext fileStreamOption(int i) {
23696 return getRuleContext(FileStreamOptionContext.class,i);
23697 }
23698 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23699 public TerminalNode COMMA_(int i) {
23700 return getToken(SQLServerStatementParser.COMMA_, i);
23701 }
23702 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
23703 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
23704 public TerminalNode EQ_(int i) {
23705 return getToken(SQLServerStatementParser.EQ_, i);
23706 }
23707 public IgnoredIdentifierContext ignoredIdentifier() {
23708 return getRuleContext(IgnoredIdentifierContext.class,0);
23709 }
23710 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
23711 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
23712 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
23713 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23714 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
23715 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
23716 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
23717 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
23718 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
23719 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
23720 public DatabaseOptionContext(ParserRuleContext parent, int invokingState) {
23721 super(parent, invokingState);
23722 }
23723 @Override public int getRuleIndex() { return RULE_databaseOption; }
23724 @Override
23725 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23726 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseOption(this);
23727 else return visitor.visitChildren(this);
23728 }
23729 }
23730
23731 public final DatabaseOptionContext databaseOption() throws RecognitionException {
23732 DatabaseOptionContext _localctx = new DatabaseOptionContext(_ctx, getState());
23733 enterRule(_localctx, 504, RULE_databaseOption);
23734 int _la;
23735 try {
23736 int _alt;
23737 setState(3447);
23738 _errHandler.sync(this);
23739 switch (_input.LA(1)) {
23740 case FILESTREAM:
23741 enterOuterAlt(_localctx, 1);
23742 {
23743 setState(3413);
23744 match(FILESTREAM);
23745 setState(3414);
23746 fileStreamOption();
23747 setState(3419);
23748 _errHandler.sync(this);
23749 _alt = getInterpreter().adaptivePredict(_input,324,_ctx);
23750 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
23751 if ( _alt==1 ) {
23752 {
23753 {
23754 setState(3415);
23755 match(COMMA_);
23756 setState(3416);
23757 fileStreamOption();
23758 }
23759 }
23760 }
23761 setState(3421);
23762 _errHandler.sync(this);
23763 _alt = getInterpreter().adaptivePredict(_input,324,_ctx);
23764 }
23765 }
23766 break;
23767 case DEFAULT_FULLTEXT_LANGUAGE:
23768 enterOuterAlt(_localctx, 2);
23769 {
23770 setState(3422);
23771 match(DEFAULT_FULLTEXT_LANGUAGE);
23772 setState(3423);
23773 match(EQ_);
23774 setState(3424);
23775 ignoredIdentifier();
23776 }
23777 break;
23778 case DEFAULT_LANGUAGE:
23779 enterOuterAlt(_localctx, 3);
23780 {
23781 setState(3425);
23782 match(DEFAULT_LANGUAGE);
23783 setState(3426);
23784 match(EQ_);
23785 setState(3427);
23786 ignoredIdentifier();
23787 }
23788 break;
23789 case NESTED_TRIGGERS:
23790 enterOuterAlt(_localctx, 4);
23791 {
23792 setState(3428);
23793 match(NESTED_TRIGGERS);
23794 setState(3429);
23795 match(EQ_);
23796 setState(3430);
23797 _la = _input.LA(1);
23798 if ( !(_la==ON || _la==OFF) ) {
23799 _errHandler.recoverInline(this);
23800 }
23801 else {
23802 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23803 _errHandler.reportMatch(this);
23804 consume();
23805 }
23806 }
23807 break;
23808 case TRANSFORM_NOISE_WORDS:
23809 enterOuterAlt(_localctx, 5);
23810 {
23811 setState(3431);
23812 match(TRANSFORM_NOISE_WORDS);
23813 setState(3432);
23814 match(EQ_);
23815 setState(3433);
23816 _la = _input.LA(1);
23817 if ( !(_la==ON || _la==OFF) ) {
23818 _errHandler.recoverInline(this);
23819 }
23820 else {
23821 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23822 _errHandler.reportMatch(this);
23823 consume();
23824 }
23825 }
23826 break;
23827 case TWO_DIGIT_YEAR_CUTOFF:
23828 enterOuterAlt(_localctx, 6);
23829 {
23830 setState(3434);
23831 match(TWO_DIGIT_YEAR_CUTOFF);
23832 setState(3435);
23833 match(EQ_);
23834 setState(3436);
23835 ignoredIdentifier();
23836 }
23837 break;
23838 case DB_CHAINING:
23839 enterOuterAlt(_localctx, 7);
23840 {
23841 setState(3437);
23842 match(DB_CHAINING);
23843 setState(3438);
23844 _la = _input.LA(1);
23845 if ( !(_la==ON || _la==OFF) ) {
23846 _errHandler.recoverInline(this);
23847 }
23848 else {
23849 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23850 _errHandler.reportMatch(this);
23851 consume();
23852 }
23853 }
23854 break;
23855 case TRUSTWORTHY:
23856 enterOuterAlt(_localctx, 8);
23857 {
23858 setState(3439);
23859 match(TRUSTWORTHY);
23860 setState(3440);
23861 _la = _input.LA(1);
23862 if ( !(_la==ON || _la==OFF) ) {
23863 _errHandler.recoverInline(this);
23864 }
23865 else {
23866 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23867 _errHandler.reportMatch(this);
23868 consume();
23869 }
23870 }
23871 break;
23872 case PERSISTENT_LOG_BUFFER:
23873 enterOuterAlt(_localctx, 9);
23874 {
23875 setState(3441);
23876 match(PERSISTENT_LOG_BUFFER);
23877 setState(3442);
23878 match(EQ_);
23879 setState(3443);
23880 match(ON);
23881 {
23882 setState(3444);
23883 match(DIRECTORY_NAME);
23884 setState(3445);
23885 match(EQ_);
23886 setState(3446);
23887 ignoredIdentifier();
23888 }
23889 }
23890 break;
23891 default:
23892 throw new NoViableAltException(this);
23893 }
23894 }
23895 catch (RecognitionException re) {
23896 _localctx.exception = re;
23897 _errHandler.reportError(this, re);
23898 _errHandler.recover(this, re);
23899 }
23900 finally {
23901 exitRule();
23902 }
23903 return _localctx;
23904 }
23905
23906 public static class FileStreamOptionContext extends ParserRuleContext {
23907 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
23908 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23909 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
23910 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
23911 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
23912 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
23913 public IgnoredIdentifierContext ignoredIdentifier() {
23914 return getRuleContext(IgnoredIdentifierContext.class,0);
23915 }
23916 public FileStreamOptionContext(ParserRuleContext parent, int invokingState) {
23917 super(parent, invokingState);
23918 }
23919 @Override public int getRuleIndex() { return RULE_fileStreamOption; }
23920 @Override
23921 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23922 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOption(this);
23923 else return visitor.visitChildren(this);
23924 }
23925 }
23926
23927 public final FileStreamOptionContext fileStreamOption() throws RecognitionException {
23928 FileStreamOptionContext _localctx = new FileStreamOptionContext(_ctx, getState());
23929 enterRule(_localctx, 506, RULE_fileStreamOption);
23930 int _la;
23931 try {
23932 setState(3455);
23933 _errHandler.sync(this);
23934 switch (_input.LA(1)) {
23935 case NON_TRANSACTED_ACCESS:
23936 enterOuterAlt(_localctx, 1);
23937 {
23938 setState(3449);
23939 match(NON_TRANSACTED_ACCESS);
23940 setState(3450);
23941 match(EQ_);
23942 setState(3451);
23943 _la = _input.LA(1);
23944 if ( !(_la==FULL || _la==OFF || _la==READ_ONLY) ) {
23945 _errHandler.recoverInline(this);
23946 }
23947 else {
23948 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23949 _errHandler.reportMatch(this);
23950 consume();
23951 }
23952 }
23953 break;
23954 case DIRECTORY_NAME:
23955 enterOuterAlt(_localctx, 2);
23956 {
23957 setState(3452);
23958 match(DIRECTORY_NAME);
23959 setState(3453);
23960 match(EQ_);
23961 setState(3454);
23962 ignoredIdentifier();
23963 }
23964 break;
23965 default:
23966 throw new NoViableAltException(this);
23967 }
23968 }
23969 catch (RecognitionException re) {
23970 _localctx.exception = re;
23971 _errHandler.reportError(this, re);
23972 _errHandler.recover(this, re);
23973 }
23974 finally {
23975 exitRule();
23976 }
23977 return _localctx;
23978 }
23979
23980 public static class FileSpecContext extends ParserRuleContext {
23981 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23982 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
23983 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
23984 public TerminalNode EQ_(int i) {
23985 return getToken(SQLServerStatementParser.EQ_, i);
23986 }
23987 public IgnoredIdentifierContext ignoredIdentifier() {
23988 return getRuleContext(IgnoredIdentifierContext.class,0);
23989 }
23990 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
23991 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
23992 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
23993 public DatabaseFileSpecOptionContext databaseFileSpecOption() {
23994 return getRuleContext(DatabaseFileSpecOptionContext.class,0);
23995 }
23996 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23997 public FileSpecContext(ParserRuleContext parent, int invokingState) {
23998 super(parent, invokingState);
23999 }
24000 @Override public int getRuleIndex() { return RULE_fileSpec; }
24001 @Override
24002 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24003 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileSpec(this);
24004 else return visitor.visitChildren(this);
24005 }
24006 }
24007
24008 public final FileSpecContext fileSpec() throws RecognitionException {
24009 FileSpecContext _localctx = new FileSpecContext(_ctx, getState());
24010 enterRule(_localctx, 508, RULE_fileSpec);
24011 try {
24012 enterOuterAlt(_localctx, 1);
24013 {
24014 setState(3457);
24015 match(LP_);
24016 setState(3458);
24017 match(NAME);
24018 setState(3459);
24019 match(EQ_);
24020 setState(3460);
24021 ignoredIdentifier();
24022 setState(3461);
24023 match(COMMA_);
24024 setState(3462);
24025 match(FILENAME);
24026 setState(3463);
24027 match(EQ_);
24028 setState(3464);
24029 match(STRING_);
24030 setState(3465);
24031 databaseFileSpecOption();
24032 setState(3466);
24033 match(RP_);
24034 }
24035 }
24036 catch (RecognitionException re) {
24037 _localctx.exception = re;
24038 _errHandler.reportError(this, re);
24039 _errHandler.recover(this, re);
24040 }
24041 finally {
24042 exitRule();
24043 }
24044 return _localctx;
24045 }
24046
24047 public static class DatabaseFileSpecOptionContext extends ParserRuleContext {
24048 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24049 public TerminalNode COMMA_(int i) {
24050 return getToken(SQLServerStatementParser.COMMA_, i);
24051 }
24052 public TerminalNode SIZE() { return getToken(SQLServerStatementParser.SIZE, 0); }
24053 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
24054 public TerminalNode EQ_(int i) {
24055 return getToken(SQLServerStatementParser.EQ_, i);
24056 }
24057 public List<NumberLiteralsContext> numberLiterals() {
24058 return getRuleContexts(NumberLiteralsContext.class);
24059 }
24060 public NumberLiteralsContext numberLiterals(int i) {
24061 return getRuleContext(NumberLiteralsContext.class,i);
24062 }
24063 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
24064 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
24065 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
24066 public List<TerminalNode> KB() { return getTokens(SQLServerStatementParser.KB); }
24067 public TerminalNode KB(int i) {
24068 return getToken(SQLServerStatementParser.KB, i);
24069 }
24070 public List<TerminalNode> MB() { return getTokens(SQLServerStatementParser.MB); }
24071 public TerminalNode MB(int i) {
24072 return getToken(SQLServerStatementParser.MB, i);
24073 }
24074 public List<TerminalNode> GB() { return getTokens(SQLServerStatementParser.GB); }
24075 public TerminalNode GB(int i) {
24076 return getToken(SQLServerStatementParser.GB, i);
24077 }
24078 public List<TerminalNode> TB() { return getTokens(SQLServerStatementParser.TB); }
24079 public TerminalNode TB(int i) {
24080 return getToken(SQLServerStatementParser.TB, i);
24081 }
24082 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
24083 public DatabaseFileSpecOptionContext(ParserRuleContext parent, int invokingState) {
24084 super(parent, invokingState);
24085 }
24086 @Override public int getRuleIndex() { return RULE_databaseFileSpecOption; }
24087 @Override
24088 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24089 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileSpecOption(this);
24090 else return visitor.visitChildren(this);
24091 }
24092 }
24093
24094 public final DatabaseFileSpecOptionContext databaseFileSpecOption() throws RecognitionException {
24095 DatabaseFileSpecOptionContext _localctx = new DatabaseFileSpecOptionContext(_ctx, getState());
24096 enterRule(_localctx, 510, RULE_databaseFileSpecOption);
24097 int _la;
24098 try {
24099 enterOuterAlt(_localctx, 1);
24100 {
24101 setState(3475);
24102 _errHandler.sync(this);
24103 switch ( getInterpreter().adaptivePredict(_input,328,_ctx) ) {
24104 case 1:
24105 {
24106 setState(3468);
24107 match(COMMA_);
24108 setState(3469);
24109 match(SIZE);
24110 setState(3470);
24111 match(EQ_);
24112 setState(3471);
24113 numberLiterals();
24114 setState(3473);
24115 _errHandler.sync(this);
24116 _la = _input.LA(1);
24117 if (((((_la - 502)) & ~0x3f) == 0 && ((1L << (_la - 502)) & ((1L << (KB - 502)) | (1L << (MB - 502)) | (1L << (GB - 502)) | (1L << (TB - 502)))) != 0)) {
24118 {
24119 setState(3472);
24120 _la = _input.LA(1);
24121 if ( !(((((_la - 502)) & ~0x3f) == 0 && ((1L << (_la - 502)) & ((1L << (KB - 502)) | (1L << (MB - 502)) | (1L << (GB - 502)) | (1L << (TB - 502)))) != 0)) ) {
24122 _errHandler.recoverInline(this);
24123 }
24124 else {
24125 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24126 _errHandler.reportMatch(this);
24127 consume();
24128 }
24129 }
24130 }
24131
24132 }
24133 break;
24134 }
24135 setState(3487);
24136 _errHandler.sync(this);
24137 switch ( getInterpreter().adaptivePredict(_input,331,_ctx) ) {
24138 case 1:
24139 {
24140 setState(3477);
24141 match(COMMA_);
24142 setState(3478);
24143 match(MAXSIZE);
24144 setState(3479);
24145 match(EQ_);
24146 setState(3485);
24147 _errHandler.sync(this);
24148 switch (_input.LA(1)) {
24149 case PLUS_:
24150 case MINUS_:
24151 case NUMBER_:
24152 {
24153 setState(3480);
24154 numberLiterals();
24155 setState(3482);
24156 _errHandler.sync(this);
24157 _la = _input.LA(1);
24158 if (((((_la - 502)) & ~0x3f) == 0 && ((1L << (_la - 502)) & ((1L << (KB - 502)) | (1L << (MB - 502)) | (1L << (GB - 502)) | (1L << (TB - 502)))) != 0)) {
24159 {
24160 setState(3481);
24161 _la = _input.LA(1);
24162 if ( !(((((_la - 502)) & ~0x3f) == 0 && ((1L << (_la - 502)) & ((1L << (KB - 502)) | (1L << (MB - 502)) | (1L << (GB - 502)) | (1L << (TB - 502)))) != 0)) ) {
24163 _errHandler.recoverInline(this);
24164 }
24165 else {
24166 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24167 _errHandler.reportMatch(this);
24168 consume();
24169 }
24170 }
24171 }
24172
24173 }
24174 break;
24175 case UNLIMITED:
24176 {
24177 setState(3484);
24178 match(UNLIMITED);
24179 }
24180 break;
24181 default:
24182 throw new NoViableAltException(this);
24183 }
24184 }
24185 break;
24186 }
24187 setState(3496);
24188 _errHandler.sync(this);
24189 _la = _input.LA(1);
24190 if (_la==COMMA_) {
24191 {
24192 setState(3489);
24193 match(COMMA_);
24194 setState(3490);
24195 match(FILEGROWTH);
24196 setState(3491);
24197 match(EQ_);
24198 setState(3492);
24199 numberLiterals();
24200 setState(3494);
24201 _errHandler.sync(this);
24202 _la = _input.LA(1);
24203 if (_la==MOD_ || ((((_la - 502)) & ~0x3f) == 0 && ((1L << (_la - 502)) & ((1L << (KB - 502)) | (1L << (MB - 502)) | (1L << (GB - 502)) | (1L << (TB - 502)))) != 0)) {
24204 {
24205 setState(3493);
24206 _la = _input.LA(1);
24207 if ( !(_la==MOD_ || ((((_la - 502)) & ~0x3f) == 0 && ((1L << (_la - 502)) & ((1L << (KB - 502)) | (1L << (MB - 502)) | (1L << (GB - 502)) | (1L << (TB - 502)))) != 0)) ) {
24208 _errHandler.recoverInline(this);
24209 }
24210 else {
24211 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24212 _errHandler.reportMatch(this);
24213 consume();
24214 }
24215 }
24216 }
24217
24218 }
24219 }
24220
24221 }
24222 }
24223 catch (RecognitionException re) {
24224 _localctx.exception = re;
24225 _errHandler.reportError(this, re);
24226 _errHandler.recover(this, re);
24227 }
24228 finally {
24229 exitRule();
24230 }
24231 return _localctx;
24232 }
24233
24234 public static class DatabaseFileGroupContext extends ParserRuleContext {
24235 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
24236 public IgnoredIdentifierContext ignoredIdentifier() {
24237 return getRuleContext(IgnoredIdentifierContext.class,0);
24238 }
24239 public List<FileSpecContext> fileSpec() {
24240 return getRuleContexts(FileSpecContext.class);
24241 }
24242 public FileSpecContext fileSpec(int i) {
24243 return getRuleContext(FileSpecContext.class,i);
24244 }
24245 public DatabaseFileGroupContainsContext databaseFileGroupContains() {
24246 return getRuleContext(DatabaseFileGroupContainsContext.class,0);
24247 }
24248 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24249 public TerminalNode COMMA_(int i) {
24250 return getToken(SQLServerStatementParser.COMMA_, i);
24251 }
24252 public DatabaseFileGroupContext(ParserRuleContext parent, int invokingState) {
24253 super(parent, invokingState);
24254 }
24255 @Override public int getRuleIndex() { return RULE_databaseFileGroup; }
24256 @Override
24257 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24258 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroup(this);
24259 else return visitor.visitChildren(this);
24260 }
24261 }
24262
24263 public final DatabaseFileGroupContext databaseFileGroup() throws RecognitionException {
24264 DatabaseFileGroupContext _localctx = new DatabaseFileGroupContext(_ctx, getState());
24265 enterRule(_localctx, 512, RULE_databaseFileGroup);
24266 try {
24267 int _alt;
24268 enterOuterAlt(_localctx, 1);
24269 {
24270 setState(3498);
24271 match(FILEGROUP);
24272 setState(3499);
24273 ignoredIdentifier();
24274 setState(3501);
24275 _errHandler.sync(this);
24276 switch ( getInterpreter().adaptivePredict(_input,334,_ctx) ) {
24277 case 1:
24278 {
24279 setState(3500);
24280 databaseFileGroupContains();
24281 }
24282 break;
24283 }
24284 setState(3503);
24285 fileSpec();
24286 setState(3508);
24287 _errHandler.sync(this);
24288 _alt = getInterpreter().adaptivePredict(_input,335,_ctx);
24289 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
24290 if ( _alt==1 ) {
24291 {
24292 {
24293 setState(3504);
24294 match(COMMA_);
24295 setState(3505);
24296 fileSpec();
24297 }
24298 }
24299 }
24300 setState(3510);
24301 _errHandler.sync(this);
24302 _alt = getInterpreter().adaptivePredict(_input,335,_ctx);
24303 }
24304 }
24305 }
24306 catch (RecognitionException re) {
24307 _localctx.exception = re;
24308 _errHandler.reportError(this, re);
24309 _errHandler.recover(this, re);
24310 }
24311 finally {
24312 exitRule();
24313 }
24314 return _localctx;
24315 }
24316
24317 public static class DatabaseFileGroupContainsContext extends ParserRuleContext {
24318 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
24319 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
24320 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
24321 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
24322 public DatabaseFileGroupContainsContext(ParserRuleContext parent, int invokingState) {
24323 super(parent, invokingState);
24324 }
24325 @Override public int getRuleIndex() { return RULE_databaseFileGroupContains; }
24326 @Override
24327 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24328 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroupContains(this);
24329 else return visitor.visitChildren(this);
24330 }
24331 }
24332
24333 public final DatabaseFileGroupContainsContext databaseFileGroupContains() throws RecognitionException {
24334 DatabaseFileGroupContainsContext _localctx = new DatabaseFileGroupContainsContext(_ctx, getState());
24335 enterRule(_localctx, 514, RULE_databaseFileGroupContains);
24336 int _la;
24337 try {
24338 setState(3520);
24339 _errHandler.sync(this);
24340 switch ( getInterpreter().adaptivePredict(_input,338,_ctx) ) {
24341 case 1:
24342 enterOuterAlt(_localctx, 1);
24343 {
24344 setState(3513);
24345 _errHandler.sync(this);
24346 _la = _input.LA(1);
24347 if (_la==CONTAINS) {
24348 {
24349 setState(3511);
24350 match(CONTAINS);
24351 setState(3512);
24352 match(FILESTREAM);
24353 }
24354 }
24355
24356 setState(3516);
24357 _errHandler.sync(this);
24358 _la = _input.LA(1);
24359 if (_la==DEFAULT) {
24360 {
24361 setState(3515);
24362 match(DEFAULT);
24363 }
24364 }
24365
24366 }
24367 break;
24368 case 2:
24369 enterOuterAlt(_localctx, 2);
24370 {
24371 setState(3518);
24372 match(CONTAINS);
24373 setState(3519);
24374 match(MEMORY_OPTIMIZED_DATA);
24375 }
24376 break;
24377 }
24378 }
24379 catch (RecognitionException re) {
24380 _localctx.exception = re;
24381 _errHandler.reportError(this, re);
24382 _errHandler.recover(this, re);
24383 }
24384 finally {
24385 exitRule();
24386 }
24387 return _localctx;
24388 }
24389
24390 public static class DatabaseLogOnsContext extends ParserRuleContext {
24391 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
24392 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
24393 public List<FileSpecContext> fileSpec() {
24394 return getRuleContexts(FileSpecContext.class);
24395 }
24396 public FileSpecContext fileSpec(int i) {
24397 return getRuleContext(FileSpecContext.class,i);
24398 }
24399 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24400 public TerminalNode COMMA_(int i) {
24401 return getToken(SQLServerStatementParser.COMMA_, i);
24402 }
24403 public DatabaseLogOnsContext(ParserRuleContext parent, int invokingState) {
24404 super(parent, invokingState);
24405 }
24406 @Override public int getRuleIndex() { return RULE_databaseLogOns; }
24407 @Override
24408 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24409 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseLogOns(this);
24410 else return visitor.visitChildren(this);
24411 }
24412 }
24413
24414 public final DatabaseLogOnsContext databaseLogOns() throws RecognitionException {
24415 DatabaseLogOnsContext _localctx = new DatabaseLogOnsContext(_ctx, getState());
24416 enterRule(_localctx, 516, RULE_databaseLogOns);
24417 int _la;
24418 try {
24419 enterOuterAlt(_localctx, 1);
24420 {
24421 setState(3532);
24422 _errHandler.sync(this);
24423 _la = _input.LA(1);
24424 if (_la==LOG) {
24425 {
24426 setState(3522);
24427 match(LOG);
24428 setState(3523);
24429 match(ON);
24430 setState(3524);
24431 fileSpec();
24432 setState(3529);
24433 _errHandler.sync(this);
24434 _la = _input.LA(1);
24435 while (_la==COMMA_) {
24436 {
24437 {
24438 setState(3525);
24439 match(COMMA_);
24440 setState(3526);
24441 fileSpec();
24442 }
24443 }
24444 setState(3531);
24445 _errHandler.sync(this);
24446 _la = _input.LA(1);
24447 }
24448 }
24449 }
24450
24451 }
24452 }
24453 catch (RecognitionException re) {
24454 _localctx.exception = re;
24455 _errHandler.reportError(this, re);
24456 _errHandler.recover(this, re);
24457 }
24458 finally {
24459 exitRule();
24460 }
24461 return _localctx;
24462 }
24463
24464 public static class DeclareVariableContext extends ParserRuleContext {
24465 public TerminalNode DECLARE() { return getToken(SQLServerStatementParser.DECLARE, 0); }
24466 public List<VariableContext> variable() {
24467 return getRuleContexts(VariableContext.class);
24468 }
24469 public VariableContext variable(int i) {
24470 return getRuleContext(VariableContext.class,i);
24471 }
24472 public TableVariableContext tableVariable() {
24473 return getRuleContext(TableVariableContext.class,0);
24474 }
24475 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24476 public TerminalNode COMMA_(int i) {
24477 return getToken(SQLServerStatementParser.COMMA_, i);
24478 }
24479 public DeclareVariableContext(ParserRuleContext parent, int invokingState) {
24480 super(parent, invokingState);
24481 }
24482 @Override public int getRuleIndex() { return RULE_declareVariable; }
24483 @Override
24484 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24485 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeclareVariable(this);
24486 else return visitor.visitChildren(this);
24487 }
24488 }
24489
24490 public final DeclareVariableContext declareVariable() throws RecognitionException {
24491 DeclareVariableContext _localctx = new DeclareVariableContext(_ctx, getState());
24492 enterRule(_localctx, 518, RULE_declareVariable);
24493 int _la;
24494 try {
24495 enterOuterAlt(_localctx, 1);
24496 {
24497 setState(3534);
24498 match(DECLARE);
24499 setState(3544);
24500 _errHandler.sync(this);
24501 switch ( getInterpreter().adaptivePredict(_input,342,_ctx) ) {
24502 case 1:
24503 {
24504 setState(3535);
24505 variable();
24506 setState(3540);
24507 _errHandler.sync(this);
24508 _la = _input.LA(1);
24509 while (_la==COMMA_) {
24510 {
24511 {
24512 setState(3536);
24513 match(COMMA_);
24514 setState(3537);
24515 variable();
24516 }
24517 }
24518 setState(3542);
24519 _errHandler.sync(this);
24520 _la = _input.LA(1);
24521 }
24522 }
24523 break;
24524 case 2:
24525 {
24526 setState(3543);
24527 tableVariable();
24528 }
24529 break;
24530 }
24531 }
24532 }
24533 catch (RecognitionException re) {
24534 _localctx.exception = re;
24535 _errHandler.reportError(this, re);
24536 _errHandler.recover(this, re);
24537 }
24538 finally {
24539 exitRule();
24540 }
24541 return _localctx;
24542 }
24543
24544 public static class VariableContext extends ParserRuleContext {
24545 public VariableNameContext variableName() {
24546 return getRuleContext(VariableNameContext.class,0);
24547 }
24548 public DataTypeContext dataType() {
24549 return getRuleContext(DataTypeContext.class,0);
24550 }
24551 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
24552 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
24553 public SimpleExprContext simpleExpr() {
24554 return getRuleContext(SimpleExprContext.class,0);
24555 }
24556 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
24557 public VariableContext(ParserRuleContext parent, int invokingState) {
24558 super(parent, invokingState);
24559 }
24560 @Override public int getRuleIndex() { return RULE_variable; }
24561 @Override
24562 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24563 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariable(this);
24564 else return visitor.visitChildren(this);
24565 }
24566 }
24567
24568 public final VariableContext variable() throws RecognitionException {
24569 VariableContext _localctx = new VariableContext(_ctx, getState());
24570 enterRule(_localctx, 520, RULE_variable);
24571 int _la;
24572 try {
24573 setState(3558);
24574 _errHandler.sync(this);
24575 switch ( getInterpreter().adaptivePredict(_input,345,_ctx) ) {
24576 case 1:
24577 enterOuterAlt(_localctx, 1);
24578 {
24579 setState(3546);
24580 variableName();
24581 setState(3548);
24582 _errHandler.sync(this);
24583 _la = _input.LA(1);
24584 if (_la==AS) {
24585 {
24586 setState(3547);
24587 match(AS);
24588 }
24589 }
24590
24591 setState(3550);
24592 dataType();
24593 setState(3553);
24594 _errHandler.sync(this);
24595 switch ( getInterpreter().adaptivePredict(_input,344,_ctx) ) {
24596 case 1:
24597 {
24598 setState(3551);
24599 match(EQ_);
24600 setState(3552);
24601 simpleExpr(0);
24602 }
24603 break;
24604 }
24605 }
24606 break;
24607 case 2:
24608 enterOuterAlt(_localctx, 2);
24609 {
24610 setState(3555);
24611 variableName();
24612 setState(3556);
24613 match(CURSOR);
24614 }
24615 break;
24616 }
24617 }
24618 catch (RecognitionException re) {
24619 _localctx.exception = re;
24620 _errHandler.reportError(this, re);
24621 _errHandler.recover(this, re);
24622 }
24623 finally {
24624 exitRule();
24625 }
24626 return _localctx;
24627 }
24628
24629 public static class TableVariableContext extends ParserRuleContext {
24630 public VariableNameContext variableName() {
24631 return getRuleContext(VariableNameContext.class,0);
24632 }
24633 public VariTableTypeDefinitionContext variTableTypeDefinition() {
24634 return getRuleContext(VariTableTypeDefinitionContext.class,0);
24635 }
24636 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
24637 public TableVariableContext(ParserRuleContext parent, int invokingState) {
24638 super(parent, invokingState);
24639 }
24640 @Override public int getRuleIndex() { return RULE_tableVariable; }
24641 @Override
24642 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24643 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariable(this);
24644 else return visitor.visitChildren(this);
24645 }
24646 }
24647
24648 public final TableVariableContext tableVariable() throws RecognitionException {
24649 TableVariableContext _localctx = new TableVariableContext(_ctx, getState());
24650 enterRule(_localctx, 522, RULE_tableVariable);
24651 int _la;
24652 try {
24653 enterOuterAlt(_localctx, 1);
24654 {
24655 setState(3560);
24656 variableName();
24657 setState(3562);
24658 _errHandler.sync(this);
24659 _la = _input.LA(1);
24660 if (_la==AS) {
24661 {
24662 setState(3561);
24663 match(AS);
24664 }
24665 }
24666
24667 setState(3564);
24668 variTableTypeDefinition();
24669 }
24670 }
24671 catch (RecognitionException re) {
24672 _localctx.exception = re;
24673 _errHandler.reportError(this, re);
24674 _errHandler.recover(this, re);
24675 }
24676 finally {
24677 exitRule();
24678 }
24679 return _localctx;
24680 }
24681
24682 public static class VariTableTypeDefinitionContext extends ParserRuleContext {
24683 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
24684 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24685 public List<TableVariableClauseContext> tableVariableClause() {
24686 return getRuleContexts(TableVariableClauseContext.class);
24687 }
24688 public TableVariableClauseContext tableVariableClause(int i) {
24689 return getRuleContext(TableVariableClauseContext.class,i);
24690 }
24691 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24692 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24693 public TerminalNode COMMA_(int i) {
24694 return getToken(SQLServerStatementParser.COMMA_, i);
24695 }
24696 public VariTableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
24697 super(parent, invokingState);
24698 }
24699 @Override public int getRuleIndex() { return RULE_variTableTypeDefinition; }
24700 @Override
24701 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24702 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariTableTypeDefinition(this);
24703 else return visitor.visitChildren(this);
24704 }
24705 }
24706
24707 public final VariTableTypeDefinitionContext variTableTypeDefinition() throws RecognitionException {
24708 VariTableTypeDefinitionContext _localctx = new VariTableTypeDefinitionContext(_ctx, getState());
24709 enterRule(_localctx, 524, RULE_variTableTypeDefinition);
24710 int _la;
24711 try {
24712 enterOuterAlt(_localctx, 1);
24713 {
24714 setState(3566);
24715 match(TABLE);
24716 setState(3567);
24717 match(LP_);
24718 setState(3568);
24719 tableVariableClause();
24720 setState(3573);
24721 _errHandler.sync(this);
24722 _la = _input.LA(1);
24723 while (_la==COMMA_) {
24724 {
24725 {
24726 setState(3569);
24727 match(COMMA_);
24728 setState(3570);
24729 tableVariableClause();
24730 }
24731 }
24732 setState(3575);
24733 _errHandler.sync(this);
24734 _la = _input.LA(1);
24735 }
24736 setState(3576);
24737 match(RP_);
24738 }
24739 }
24740 catch (RecognitionException re) {
24741 _localctx.exception = re;
24742 _errHandler.reportError(this, re);
24743 _errHandler.recover(this, re);
24744 }
24745 finally {
24746 exitRule();
24747 }
24748 return _localctx;
24749 }
24750
24751 public static class TableVariableClauseContext extends ParserRuleContext {
24752 public VariableTableColumnDefinitionContext variableTableColumnDefinition() {
24753 return getRuleContext(VariableTableColumnDefinitionContext.class,0);
24754 }
24755 public VariableTableConstraintContext variableTableConstraint() {
24756 return getRuleContext(VariableTableConstraintContext.class,0);
24757 }
24758 public TableVariableClauseContext(ParserRuleContext parent, int invokingState) {
24759 super(parent, invokingState);
24760 }
24761 @Override public int getRuleIndex() { return RULE_tableVariableClause; }
24762 @Override
24763 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24764 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariableClause(this);
24765 else return visitor.visitChildren(this);
24766 }
24767 }
24768
24769 public final TableVariableClauseContext tableVariableClause() throws RecognitionException {
24770 TableVariableClauseContext _localctx = new TableVariableClauseContext(_ctx, getState());
24771 enterRule(_localctx, 526, RULE_tableVariableClause);
24772 try {
24773 setState(3580);
24774 _errHandler.sync(this);
24775 switch (_input.LA(1)) {
24776 case DOLLAR_:
24777 case TRUNCATE:
24778 case SCHEMA:
24779 case COLUMNS:
24780 case PRECISION:
24781 case FUNCTION:
24782 case TRIGGER:
24783 case CAST:
24784 case SUBSTRING:
24785 case OFF:
24786 case GROUP:
24787 case LIMIT:
24788 case OFFSET:
24789 case SAVEPOINT:
24790 case BOOLEAN:
24791 case ARRAY:
24792 case DATE:
24793 case LOCALTIME:
24794 case LOCALTIMESTAMP:
24795 case QUARTER:
24796 case MONTH:
24797 case WEEK:
24798 case DAY:
24799 case SECOND:
24800 case MICROSECOND:
24801 case MAX:
24802 case MIN:
24803 case SUM:
24804 case COUNT:
24805 case AVG:
24806 case ENABLE:
24807 case DISABLE:
24808 case INSTANCE:
24809 case DO:
24810 case DEFINER:
24811 case SQL:
24812 case CASCADED:
24813 case LOCAL:
24814 case NEXT:
24815 case NAME:
24816 case INTEGER:
24817 case TYPE:
24818 case TEXT:
24819 case VIEWS:
24820 case READ_ONLY:
24821 case DATABASE:
24822 case RETURNS:
24823 case DATEPART:
24824 case PASSWORD:
24825 case BINARY:
24826 case HIDDEN_:
24827 case MOD:
24828 case PARTITION:
24829 case PARTITIONS:
24830 case TOP:
24831 case ROW:
24832 case ROWS:
24833 case XOR:
24834 case ALWAYS:
24835 case ROLE:
24836 case START:
24837 case ALGORITHM:
24838 case AUTO:
24839 case BLOCKERS:
24840 case CLUSTERED:
24841 case NONCLUSTERED:
24842 case COLUMNSTORE:
24843 case CONTENT:
24844 case YEARS:
24845 case MONTHS:
24846 case WEEKS:
24847 case DAYS:
24848 case MINUTES:
24849 case DENY:
24850 case DETERMINISTIC:
24851 case DISTRIBUTION:
24852 case DOCUMENT:
24853 case DURABILITY:
24854 case ENCRYPTED:
24855 case FILESTREAM:
24856 case FILETABLE:
24857 case FILLFACTOR:
24858 case FOLLOWING:
24859 case HASH:
24860 case HEAP:
24861 case INBOUND:
24862 case OUTBOUND:
24863 case UNBOUNDED:
24864 case INFINITE:
24865 case LOGIN:
24866 case MASKED:
24867 case MAXDOP:
24868 case MOVE:
24869 case NOCHECK:
24870 case OBJECT:
24871 case ONLINE:
24872 case OVER:
24873 case PAGE:
24874 case PAUSED:
24875 case PERIOD:
24876 case PERSISTED:
24877 case PRECEDING:
24878 case RANDOMIZED:
24879 case RANGE:
24880 case REBUILD:
24881 case REPLICATE:
24882 case REPLICATION:
24883 case RESUMABLE:
24884 case ROWGUIDCOL:
24885 case SAVE:
24886 case SELF:
24887 case SPARSE:
24888 case SWITCH:
24889 case TRAN:
24890 case TRANCOUNT:
24891 case CONTROL:
24892 case CONCAT:
24893 case TAKE:
24894 case OWNERSHIP:
24895 case DEFINITION:
24896 case APPLICATION:
24897 case ASSEMBLY:
24898 case SYMMETRIC:
24899 case ASYMMETRIC:
24900 case SERVER:
24901 case RECEIVE:
24902 case CHANGE:
24903 case TRACE:
24904 case TRACKING:
24905 case RESOURCES:
24906 case SETTINGS:
24907 case STATE:
24908 case AVAILABILITY:
24909 case CREDENTIAL:
24910 case ENDPOINT:
24911 case EVENT:
24912 case NOTIFICATION:
24913 case LINKED:
24914 case AUDIT:
24915 case DDL:
24916 case XML:
24917 case IMPERSONATE:
24918 case SECURABLES:
24919 case AUTHENTICATE:
24920 case EXTERNAL:
24921 case ACCESS:
24922 case ADMINISTER:
24923 case BULK:
24924 case OPERATIONS:
24925 case UNSAFE:
24926 case SHUTDOWN:
24927 case SCOPED:
24928 case CONFIGURATION:
24929 case DATASPACE:
24930 case SERVICE:
24931 case CERTIFICATE:
24932 case CONTRACT:
24933 case ENCRYPTION:
24934 case MASTER:
24935 case DATA:
24936 case SOURCE:
24937 case FILE:
24938 case FORMAT:
24939 case LIBRARY:
24940 case FULLTEXT:
24941 case MASK:
24942 case UNMASK:
24943 case MESSAGE:
24944 case REMOTE:
24945 case BINDING:
24946 case ROUTE:
24947 case SECURITY:
24948 case POLICY:
24949 case AGGREGATE:
24950 case QUEUE:
24951 case RULE:
24952 case SYNONYM:
24953 case COLLECTION:
24954 case SCRIPT:
24955 case KILL:
24956 case BACKUP:
24957 case LOG:
24958 case SHOWPLAN:
24959 case SUBSCRIBE:
24960 case QUERY:
24961 case NOTIFICATIONS:
24962 case CHECKPOINT:
24963 case SEQUENCE:
24964 case ABORT_AFTER_WAIT:
24965 case ALLOW_PAGE_LOCKS:
24966 case ALLOW_ROW_LOCKS:
24967 case ALL_SPARSE_COLUMNS:
24968 case BUCKET_COUNT:
24969 case COLUMNSTORE_ARCHIVE:
24970 case COLUMN_ENCRYPTION_KEY:
24971 case COLUMN_SET:
24972 case COMPRESSION_DELAY:
24973 case DATABASE_DEAULT:
24974 case DATA_COMPRESSION:
24975 case DATA_CONSISTENCY_CHECK:
24976 case ENCRYPTION_TYPE:
24977 case SYSTEM_TIME:
24978 case SYSTEM_VERSIONING:
24979 case TEXTIMAGE_ON:
24980 case WAIT_AT_LOW_PRIORITY:
24981 case STATISTICS_INCREMENTAL:
24982 case STATISTICS_NORECOMPUTE:
24983 case ROUND_ROBIN:
24984 case SCHEMA_AND_DATA:
24985 case SCHEMA_ONLY:
24986 case SORT_IN_TEMPDB:
24987 case IGNORE_DUP_KEY:
24988 case IMPLICIT_TRANSACTIONS:
24989 case MAX_DURATION:
24990 case MEMORY_OPTIMIZED:
24991 case MIGRATION_STATE:
24992 case PAD_INDEX:
24993 case REMOTE_DATA_ARCHIVE:
24994 case FILESTREAM_ON:
24995 case FILETABLE_COLLATE_FILENAME:
24996 case FILETABLE_DIRECTORY:
24997 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
24998 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
24999 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
25000 case FILTER_PREDICATE:
25001 case HISTORY_RETENTION_PERIOD:
25002 case HISTORY_TABLE:
25003 case LOCK_ESCALATION:
25004 case DROP_EXISTING:
25005 case ROW_NUMBER:
25006 case FIRST:
25007 case DATETIME2:
25008 case OUTPUT:
25009 case INSERTED:
25010 case DELETED:
25011 case FILENAME:
25012 case SIZE:
25013 case MAXSIZE:
25014 case FILEGROWTH:
25015 case UNLIMITED:
25016 case KB:
25017 case MB:
25018 case GB:
25019 case TB:
25020 case CONTAINS:
25021 case MEMORY_OPTIMIZED_DATA:
25022 case FILEGROUP:
25023 case NON_TRANSACTED_ACCESS:
25024 case DB_CHAINING:
25025 case TRUSTWORTHY:
25026 case FORWARD_ONLY:
25027 case KEYSET:
25028 case FAST_FORWARD:
25029 case SCROLL_LOCKS:
25030 case OPTIMISTIC:
25031 case TYPE_WARNING:
25032 case SCHEMABINDING:
25033 case CALLER:
25034 case OWNER:
25035 case SNAPSHOT:
25036 case REPEATABLE:
25037 case SERIALIZABLE:
25038 case NATIVE_COMPILATION:
25039 case VIEW_METADATA:
25040 case INSTEAD:
25041 case APPEND:
25042 case INCREMENT:
25043 case CACHE:
25044 case MINVALUE:
25045 case MAXVALUE:
25046 case RESTART:
25047 case LOB_COMPACTION:
25048 case COMPRESS_ALL_ROW_GROUPS:
25049 case REORGANIZE:
25050 case RESUME:
25051 case PAUSE:
25052 case ABORT:
25053 case ACCELERATED_DATABASE_RECOVERY:
25054 case PERSISTENT_VERSION_STORE_FILEGROUP:
25055 case IMMEDIATE:
25056 case NO_WAIT:
25057 case TARGET_RECOVERY_TIME:
25058 case SECONDS:
25059 case HONOR_BROKER_PRIORITY:
25060 case ERROR_BROKER_CONVERSATIONS:
25061 case NEW_BROKER:
25062 case DISABLE_BROKER:
25063 case ENABLE_BROKER:
25064 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
25065 case READ_COMMITTED_SNAPSHOT:
25066 case ALLOW_SNAPSHOT_ISOLATION:
25067 case RECURSIVE_TRIGGERS:
25068 case QUOTED_IDENTIFIER:
25069 case NUMERIC_ROUNDABORT:
25070 case CONCAT_NULL_YIELDS_NULL:
25071 case COMPATIBILITY_LEVEL:
25072 case ARITHABORT:
25073 case ANSI_WARNINGS:
25074 case ANSI_PADDING:
25075 case ANSI_NULLS:
25076 case ANSI_NULL_DEFAULT:
25077 case PAGE_VERIFY:
25078 case CHECKSUM:
25079 case TORN_PAGE_DETECTION:
25080 case BULK_LOGGED:
25081 case RECOVERY:
25082 case TOTAL_EXECUTION_CPU_TIME_MS:
25083 case TOTAL_COMPILE_CPU_TIME_MS:
25084 case STALE_CAPTURE_POLICY_THRESHOLD:
25085 case EXECUTION_COUNT:
25086 case QUERY_CAPTURE_POLICY:
25087 case WAIT_STATS_CAPTURE_MODE:
25088 case MAX_PLANS_PER_QUERY:
25089 case QUERY_CAPTURE_MODE:
25090 case SIZE_BASED_CLEANUP_MODE:
25091 case INTERVAL_LENGTH_MINUTES:
25092 case MAX_STORAGE_SIZE_MB:
25093 case DATA_FLUSH_INTERVAL_SECONDS:
25094 case CLEANUP_POLICY:
25095 case CUSTOM:
25096 case STALE_QUERY_THRESHOLD_DAYS:
25097 case OPERATION_MODE:
25098 case QUERY_STORE:
25099 case CURSOR_DEFAULT:
25100 case GLOBAL:
25101 case CURSOR_CLOSE_ON_COMMIT:
25102 case HOURS:
25103 case CHANGE_RETENTION:
25104 case AUTO_CLEANUP:
25105 case CHANGE_TRACKING:
25106 case AUTOMATIC_TUNING:
25107 case FORCE_LAST_GOOD_PLAN:
25108 case AUTO_UPDATE_STATISTICS_ASYNC:
25109 case AUTO_UPDATE_STATISTICS:
25110 case AUTO_SHRINK:
25111 case AUTO_CREATE_STATISTICS:
25112 case INCREMENTAL:
25113 case AUTO_CLOSE:
25114 case DATA_RETENTION:
25115 case TEMPORAL_HISTORY_RETENTION:
25116 case EDITION:
25117 case MIXED_PAGE_ALLOCATION:
25118 case DISABLED:
25119 case ALLOWED:
25120 case HADR:
25121 case MULTI_USER:
25122 case RESTRICTED_USER:
25123 case SINGLE_USER:
25124 case OFFLINE:
25125 case EMERGENCY:
25126 case SUSPEND:
25127 case DATE_CORRELATION_OPTIMIZATION:
25128 case ELASTIC_POOL:
25129 case SERVICE_OBJECTIVE:
25130 case DATABASE_NAME:
25131 case ALLOW_CONNECTIONS:
25132 case GEO:
25133 case NAMED:
25134 case DATEFIRST:
25135 case BACKUP_STORAGE_REDUNDANCY:
25136 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
25137 case SECONDARY:
25138 case FAILOVER:
25139 case DEFAULT_FULLTEXT_LANGUAGE:
25140 case DEFAULT_LANGUAGE:
25141 case INLINE:
25142 case NESTED_TRIGGERS:
25143 case TRANSFORM_NOISE_WORDS:
25144 case TWO_DIGIT_YEAR_CUTOFF:
25145 case PERSISTENT_LOG_BUFFER:
25146 case DIRECTORY_NAME:
25147 case DATEFORMAT:
25148 case DELAYED_DURABILITY:
25149 case AUTHORIZATION:
25150 case TRANSFER:
25151 case PROVIDER:
25152 case SEARCH:
25153 case MEMBER:
25154 case IDENTIFIER_:
25155 case DELIMITED_IDENTIFIER_:
25156 enterOuterAlt(_localctx, 1);
25157 {
25158 setState(3578);
25159 variableTableColumnDefinition();
25160 }
25161 break;
25162 case PRIMARY:
25163 case UNIQUE:
25164 case CHECK:
25165 enterOuterAlt(_localctx, 2);
25166 {
25167 setState(3579);
25168 variableTableConstraint();
25169 }
25170 break;
25171 default:
25172 throw new NoViableAltException(this);
25173 }
25174 }
25175 catch (RecognitionException re) {
25176 _localctx.exception = re;
25177 _errHandler.reportError(this, re);
25178 _errHandler.recover(this, re);
25179 }
25180 finally {
25181 exitRule();
25182 }
25183 return _localctx;
25184 }
25185
25186 public static class VariableTableColumnDefinitionContext extends ParserRuleContext {
25187 public ColumnNameContext columnName() {
25188 return getRuleContext(ColumnNameContext.class,0);
25189 }
25190 public VariableTableColumnConstraintContext variableTableColumnConstraint() {
25191 return getRuleContext(VariableTableColumnConstraintContext.class,0);
25192 }
25193 public DataTypeNameContext dataTypeName() {
25194 return getRuleContext(DataTypeNameContext.class,0);
25195 }
25196 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25197 public List<ExprContext> expr() {
25198 return getRuleContexts(ExprContext.class);
25199 }
25200 public ExprContext expr(int i) {
25201 return getRuleContext(ExprContext.class,i);
25202 }
25203 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
25204 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
25205 public CollationNameContext collationName() {
25206 return getRuleContext(CollationNameContext.class,0);
25207 }
25208 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
25209 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
25210 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25211 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
25212 public TerminalNode NUMBER_(int i) {
25213 return getToken(SQLServerStatementParser.NUMBER_, i);
25214 }
25215 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
25216 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25217 public VariableTableColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
25218 super(parent, invokingState);
25219 }
25220 @Override public int getRuleIndex() { return RULE_variableTableColumnDefinition; }
25221 @Override
25222 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25223 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnDefinition(this);
25224 else return visitor.visitChildren(this);
25225 }
25226 }
25227
25228 public final VariableTableColumnDefinitionContext variableTableColumnDefinition() throws RecognitionException {
25229 VariableTableColumnDefinitionContext _localctx = new VariableTableColumnDefinitionContext(_ctx, getState());
25230 enterRule(_localctx, 528, RULE_variableTableColumnDefinition);
25231 int _la;
25232 try {
25233 enterOuterAlt(_localctx, 1);
25234 {
25235 setState(3582);
25236 columnName();
25237 setState(3586);
25238 _errHandler.sync(this);
25239 switch (_input.LA(1)) {
25240 case CHAR:
25241 case DATE:
25242 case TIME:
25243 case INTEGER:
25244 case REAL:
25245 case DECIMAL:
25246 case BIT:
25247 case SMALLINT:
25248 case INT:
25249 case TINYINT:
25250 case NUMERIC:
25251 case FLOAT:
25252 case BIGINT:
25253 case TEXT:
25254 case VARCHAR:
25255 case BINARY:
25256 case XML:
25257 case MONEY:
25258 case SMALLMONEY:
25259 case DATETIMEOFFSET:
25260 case DATETIME:
25261 case DATETIME2:
25262 case SMALLDATETIME:
25263 case NCHAR:
25264 case NVARCHAR:
25265 case NTEXT:
25266 case VARBINARY:
25267 case IMAGE:
25268 case SQL_VARIANT:
25269 case UNIQUEIDENTIFIER:
25270 case HIERARCHYID:
25271 case GEOMETRY:
25272 case GEOGRAPHY:
25273 case IDENTIFIER_:
25274 {
25275 setState(3583);
25276 dataTypeName();
25277 }
25278 break;
25279 case AS:
25280 {
25281 setState(3584);
25282 match(AS);
25283 setState(3585);
25284 expr(0);
25285 }
25286 break;
25287 default:
25288 throw new NoViableAltException(this);
25289 }
25290 setState(3590);
25291 _errHandler.sync(this);
25292 _la = _input.LA(1);
25293 if (_la==COLLATE) {
25294 {
25295 setState(3588);
25296 match(COLLATE);
25297 setState(3589);
25298 collationName();
25299 }
25300 }
25301
25302 setState(3604);
25303 _errHandler.sync(this);
25304 switch (_input.LA(1)) {
25305 case RP_:
25306 case COMMA_:
25307 case PRIMARY:
25308 case UNIQUE:
25309 case WITH:
25310 case NOT:
25311 case NULL:
25312 case DEFAULT:
25313 case CHECK:
25314 case ROWGUIDCOL:
25315 {
25316 setState(3594);
25317 _errHandler.sync(this);
25318 _la = _input.LA(1);
25319 if (_la==DEFAULT) {
25320 {
25321 setState(3592);
25322 match(DEFAULT);
25323 setState(3593);
25324 expr(0);
25325 }
25326 }
25327
25328 }
25329 break;
25330 case IDENTITY:
25331 {
25332 setState(3596);
25333 match(IDENTITY);
25334 setState(3602);
25335 _errHandler.sync(this);
25336 _la = _input.LA(1);
25337 if (_la==LP_) {
25338 {
25339 setState(3597);
25340 match(LP_);
25341 setState(3598);
25342 match(NUMBER_);
25343 setState(3599);
25344 match(COMMA_);
25345 setState(3600);
25346 match(NUMBER_);
25347 setState(3601);
25348 match(RP_);
25349 }
25350 }
25351
25352 }
25353 break;
25354 default:
25355 throw new NoViableAltException(this);
25356 }
25357 setState(3607);
25358 _errHandler.sync(this);
25359 _la = _input.LA(1);
25360 if (_la==ROWGUIDCOL) {
25361 {
25362 setState(3606);
25363 match(ROWGUIDCOL);
25364 }
25365 }
25366
25367 setState(3609);
25368 variableTableColumnConstraint();
25369 }
25370 }
25371 catch (RecognitionException re) {
25372 _localctx.exception = re;
25373 _errHandler.reportError(this, re);
25374 _errHandler.recover(this, re);
25375 }
25376 finally {
25377 exitRule();
25378 }
25379 return _localctx;
25380 }
25381
25382 public static class VariableTableColumnConstraintContext extends ParserRuleContext {
25383 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
25384 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
25385 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
25386 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
25387 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
25388 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
25389 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25390 public ExprContext expr() {
25391 return getRuleContext(ExprContext.class,0);
25392 }
25393 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25394 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
25395 public IndexOptionContext indexOption() {
25396 return getRuleContext(IndexOptionContext.class,0);
25397 }
25398 public VariableTableColumnConstraintContext(ParserRuleContext parent, int invokingState) {
25399 super(parent, invokingState);
25400 }
25401 @Override public int getRuleIndex() { return RULE_variableTableColumnConstraint; }
25402 @Override
25403 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25404 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnConstraint(this);
25405 else return visitor.visitChildren(this);
25406 }
25407 }
25408
25409 public final VariableTableColumnConstraintContext variableTableColumnConstraint() throws RecognitionException {
25410 VariableTableColumnConstraintContext _localctx = new VariableTableColumnConstraintContext(_ctx, getState());
25411 enterRule(_localctx, 530, RULE_variableTableColumnConstraint);
25412 try {
25413 setState(3628);
25414 _errHandler.sync(this);
25415 switch ( getInterpreter().adaptivePredict(_input,357,_ctx) ) {
25416 case 1:
25417 enterOuterAlt(_localctx, 1);
25418 {
25419 setState(3614);
25420 _errHandler.sync(this);
25421 switch (_input.LA(1)) {
25422 case NULL:
25423 {
25424 setState(3611);
25425 match(NULL);
25426 }
25427 break;
25428 case NOT:
25429 {
25430 setState(3612);
25431 match(NOT);
25432 setState(3613);
25433 match(NULL);
25434 }
25435 break;
25436 case RP_:
25437 case COMMA_:
25438 break;
25439 default:
25440 break;
25441 }
25442 }
25443 break;
25444 case 2:
25445 enterOuterAlt(_localctx, 2);
25446 {
25447 setState(3619);
25448 _errHandler.sync(this);
25449 switch (_input.LA(1)) {
25450 case PRIMARY:
25451 {
25452 setState(3616);
25453 match(PRIMARY);
25454 setState(3617);
25455 match(KEY);
25456 }
25457 break;
25458 case UNIQUE:
25459 {
25460 setState(3618);
25461 match(UNIQUE);
25462 }
25463 break;
25464 case RP_:
25465 case COMMA_:
25466 break;
25467 default:
25468 break;
25469 }
25470 }
25471 break;
25472 case 3:
25473 enterOuterAlt(_localctx, 3);
25474 {
25475 setState(3621);
25476 match(CHECK);
25477 setState(3622);
25478 match(LP_);
25479 setState(3623);
25480 expr(0);
25481 setState(3624);
25482 match(RP_);
25483 }
25484 break;
25485 case 4:
25486 enterOuterAlt(_localctx, 4);
25487 {
25488 setState(3626);
25489 match(WITH);
25490 setState(3627);
25491 indexOption();
25492 }
25493 break;
25494 }
25495 }
25496 catch (RecognitionException re) {
25497 _localctx.exception = re;
25498 _errHandler.reportError(this, re);
25499 _errHandler.recover(this, re);
25500 }
25501 finally {
25502 exitRule();
25503 }
25504 return _localctx;
25505 }
25506
25507 public static class VariableTableConstraintContext extends ParserRuleContext {
25508 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25509 public List<ColumnNameContext> columnName() {
25510 return getRuleContexts(ColumnNameContext.class);
25511 }
25512 public ColumnNameContext columnName(int i) {
25513 return getRuleContext(ColumnNameContext.class,i);
25514 }
25515 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25516 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
25517 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
25518 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
25519 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25520 public TerminalNode COMMA_(int i) {
25521 return getToken(SQLServerStatementParser.COMMA_, i);
25522 }
25523 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
25524 public ExprContext expr() {
25525 return getRuleContext(ExprContext.class,0);
25526 }
25527 public VariableTableConstraintContext(ParserRuleContext parent, int invokingState) {
25528 super(parent, invokingState);
25529 }
25530 @Override public int getRuleIndex() { return RULE_variableTableConstraint; }
25531 @Override
25532 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25533 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableConstraint(this);
25534 else return visitor.visitChildren(this);
25535 }
25536 }
25537
25538 public final VariableTableConstraintContext variableTableConstraint() throws RecognitionException {
25539 VariableTableConstraintContext _localctx = new VariableTableConstraintContext(_ctx, getState());
25540 enterRule(_localctx, 532, RULE_variableTableConstraint);
25541 int _la;
25542 try {
25543 setState(3648);
25544 _errHandler.sync(this);
25545 switch (_input.LA(1)) {
25546 case PRIMARY:
25547 case UNIQUE:
25548 enterOuterAlt(_localctx, 1);
25549 {
25550 setState(3633);
25551 _errHandler.sync(this);
25552 switch (_input.LA(1)) {
25553 case PRIMARY:
25554 {
25555 setState(3630);
25556 match(PRIMARY);
25557 setState(3631);
25558 match(KEY);
25559 }
25560 break;
25561 case UNIQUE:
25562 {
25563 setState(3632);
25564 match(UNIQUE);
25565 }
25566 break;
25567 default:
25568 throw new NoViableAltException(this);
25569 }
25570 setState(3635);
25571 match(LP_);
25572 setState(3636);
25573 columnName();
25574 setState(3641);
25575 _errHandler.sync(this);
25576 _la = _input.LA(1);
25577 while (_la==COMMA_) {
25578 {
25579 {
25580 setState(3637);
25581 match(COMMA_);
25582 setState(3638);
25583 columnName();
25584 }
25585 }
25586 setState(3643);
25587 _errHandler.sync(this);
25588 _la = _input.LA(1);
25589 }
25590 setState(3644);
25591 match(RP_);
25592 }
25593 break;
25594 case CHECK:
25595 enterOuterAlt(_localctx, 2);
25596 {
25597 setState(3646);
25598 match(CHECK);
25599 setState(3647);
25600 expr(0);
25601 }
25602 break;
25603 default:
25604 throw new NoViableAltException(this);
25605 }
25606 }
25607 catch (RecognitionException re) {
25608 _localctx.exception = re;
25609 _errHandler.reportError(this, re);
25610 _errHandler.recover(this, re);
25611 }
25612 finally {
25613 exitRule();
25614 }
25615 return _localctx;
25616 }
25617
25618 public static class SetVariableContext extends ParserRuleContext {
25619 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
25620 public VariableNameContext variableName() {
25621 return getRuleContext(VariableNameContext.class,0);
25622 }
25623 public SetVariableClauseContext setVariableClause() {
25624 return getRuleContext(SetVariableClauseContext.class,0);
25625 }
25626 public SetVariableContext(ParserRuleContext parent, int invokingState) {
25627 super(parent, invokingState);
25628 }
25629 @Override public int getRuleIndex() { return RULE_setVariable; }
25630 @Override
25631 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25632 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariable(this);
25633 else return visitor.visitChildren(this);
25634 }
25635 }
25636
25637 public final SetVariableContext setVariable() throws RecognitionException {
25638 SetVariableContext _localctx = new SetVariableContext(_ctx, getState());
25639 enterRule(_localctx, 534, RULE_setVariable);
25640 try {
25641 enterOuterAlt(_localctx, 1);
25642 {
25643 setState(3650);
25644 match(SET);
25645 setState(3651);
25646 variableName();
25647 setState(3652);
25648 setVariableClause();
25649 }
25650 }
25651 catch (RecognitionException re) {
25652 _localctx.exception = re;
25653 _errHandler.reportError(this, re);
25654 _errHandler.recover(this, re);
25655 }
25656 finally {
25657 exitRule();
25658 }
25659 return _localctx;
25660 }
25661
25662 public static class SetVariableClauseContext extends ParserRuleContext {
25663 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
25664 public ExprContext expr() {
25665 return getRuleContext(ExprContext.class,0);
25666 }
25667 public List<IdentifierContext> identifier() {
25668 return getRuleContexts(IdentifierContext.class);
25669 }
25670 public IdentifierContext identifier(int i) {
25671 return getRuleContext(IdentifierContext.class,i);
25672 }
25673 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
25674 public TerminalNode DOT_(int i) {
25675 return getToken(SQLServerStatementParser.DOT_, i);
25676 }
25677 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
25678 public CompoundOperationContext compoundOperation() {
25679 return getRuleContext(CompoundOperationContext.class,0);
25680 }
25681 public CursorVariableContext cursorVariable() {
25682 return getRuleContext(CursorVariableContext.class,0);
25683 }
25684 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25685 public SelectContext select() {
25686 return getRuleContext(SelectContext.class,0);
25687 }
25688 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25689 public SetVariableClauseContext(ParserRuleContext parent, int invokingState) {
25690 super(parent, invokingState);
25691 }
25692 @Override public int getRuleIndex() { return RULE_setVariableClause; }
25693 @Override
25694 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25695 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariableClause(this);
25696 else return visitor.visitChildren(this);
25697 }
25698 }
25699
25700 public final SetVariableClauseContext setVariableClause() throws RecognitionException {
25701 SetVariableClauseContext _localctx = new SetVariableClauseContext(_ctx, getState());
25702 enterRule(_localctx, 536, RULE_setVariableClause);
25703 int _la;
25704 try {
25705 setState(3677);
25706 _errHandler.sync(this);
25707 switch ( getInterpreter().adaptivePredict(_input,363,_ctx) ) {
25708 case 1:
25709 enterOuterAlt(_localctx, 1);
25710 {
25711 setState(3656);
25712 _errHandler.sync(this);
25713 _la = _input.LA(1);
25714 if (_la==DOT_) {
25715 {
25716 setState(3654);
25717 match(DOT_);
25718 setState(3655);
25719 identifier();
25720 }
25721 }
25722
25723 setState(3658);
25724 match(EQ_);
25725 setState(3665);
25726 _errHandler.sync(this);
25727 switch ( getInterpreter().adaptivePredict(_input,362,_ctx) ) {
25728 case 1:
25729 {
25730 setState(3659);
25731 expr(0);
25732 }
25733 break;
25734 case 2:
25735 {
25736 setState(3660);
25737 identifier();
25738 setState(3661);
25739 match(DOT_);
25740 setState(3662);
25741 identifier();
25742 }
25743 break;
25744 case 3:
25745 {
25746 setState(3664);
25747 match(NCHAR_TEXT);
25748 }
25749 break;
25750 }
25751 }
25752 break;
25753 case 2:
25754 enterOuterAlt(_localctx, 2);
25755 {
25756 setState(3667);
25757 compoundOperation();
25758 setState(3668);
25759 expr(0);
25760 }
25761 break;
25762 case 3:
25763 enterOuterAlt(_localctx, 3);
25764 {
25765 setState(3670);
25766 match(EQ_);
25767 setState(3671);
25768 cursorVariable();
25769 }
25770 break;
25771 case 4:
25772 enterOuterAlt(_localctx, 4);
25773 {
25774 setState(3672);
25775 match(EQ_);
25776 setState(3673);
25777 match(LP_);
25778 setState(3674);
25779 select();
25780 setState(3675);
25781 match(RP_);
25782 }
25783 break;
25784 }
25785 }
25786 catch (RecognitionException re) {
25787 _localctx.exception = re;
25788 _errHandler.reportError(this, re);
25789 _errHandler.recover(this, re);
25790 }
25791 finally {
25792 exitRule();
25793 }
25794 return _localctx;
25795 }
25796
25797 public static class CursorVariableContext extends ParserRuleContext {
25798 public VariableNameContext variableName() {
25799 return getRuleContext(VariableNameContext.class,0);
25800 }
25801 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
25802 public CursorClauseContext cursorClause() {
25803 return getRuleContext(CursorClauseContext.class,0);
25804 }
25805 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
25806 public TerminalNode FOR(int i) {
25807 return getToken(SQLServerStatementParser.FOR, i);
25808 }
25809 public SelectContext select() {
25810 return getRuleContext(SelectContext.class,0);
25811 }
25812 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
25813 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
25814 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
25815 public List<NameContext> name() {
25816 return getRuleContexts(NameContext.class);
25817 }
25818 public NameContext name(int i) {
25819 return getRuleContext(NameContext.class,i);
25820 }
25821 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25822 public TerminalNode COMMA_(int i) {
25823 return getToken(SQLServerStatementParser.COMMA_, i);
25824 }
25825 public CursorVariableContext(ParserRuleContext parent, int invokingState) {
25826 super(parent, invokingState);
25827 }
25828 @Override public int getRuleIndex() { return RULE_cursorVariable; }
25829 @Override
25830 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25831 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorVariable(this);
25832 else return visitor.visitChildren(this);
25833 }
25834 }
25835
25836 public final CursorVariableContext cursorVariable() throws RecognitionException {
25837 CursorVariableContext _localctx = new CursorVariableContext(_ctx, getState());
25838 enterRule(_localctx, 538, RULE_cursorVariable);
25839 int _la;
25840 try {
25841 setState(3698);
25842 _errHandler.sync(this);
25843 switch (_input.LA(1)) {
25844 case TRUNCATE:
25845 case SCHEMA:
25846 case COLUMNS:
25847 case PRECISION:
25848 case FUNCTION:
25849 case TRIGGER:
25850 case CAST:
25851 case SUBSTRING:
25852 case OFF:
25853 case GROUP:
25854 case LIMIT:
25855 case OFFSET:
25856 case SAVEPOINT:
25857 case BOOLEAN:
25858 case ARRAY:
25859 case DATE:
25860 case LOCALTIME:
25861 case LOCALTIMESTAMP:
25862 case QUARTER:
25863 case MONTH:
25864 case WEEK:
25865 case DAY:
25866 case SECOND:
25867 case MICROSECOND:
25868 case MAX:
25869 case MIN:
25870 case SUM:
25871 case COUNT:
25872 case AVG:
25873 case ENABLE:
25874 case DISABLE:
25875 case INSTANCE:
25876 case DO:
25877 case DEFINER:
25878 case SQL:
25879 case CASCADED:
25880 case LOCAL:
25881 case NEXT:
25882 case NAME:
25883 case INTEGER:
25884 case TYPE:
25885 case TEXT:
25886 case VIEWS:
25887 case READ_ONLY:
25888 case DATABASE:
25889 case RETURNS:
25890 case DATEPART:
25891 case PASSWORD:
25892 case BINARY:
25893 case HIDDEN_:
25894 case MOD:
25895 case PARTITION:
25896 case PARTITIONS:
25897 case TOP:
25898 case ROW:
25899 case ROWS:
25900 case XOR:
25901 case ALWAYS:
25902 case ROLE:
25903 case START:
25904 case ALGORITHM:
25905 case AUTO:
25906 case BLOCKERS:
25907 case CLUSTERED:
25908 case NONCLUSTERED:
25909 case COLUMNSTORE:
25910 case CONTENT:
25911 case YEARS:
25912 case MONTHS:
25913 case WEEKS:
25914 case DAYS:
25915 case MINUTES:
25916 case DENY:
25917 case DETERMINISTIC:
25918 case DISTRIBUTION:
25919 case DOCUMENT:
25920 case DURABILITY:
25921 case ENCRYPTED:
25922 case FILESTREAM:
25923 case FILETABLE:
25924 case FILLFACTOR:
25925 case FOLLOWING:
25926 case HASH:
25927 case HEAP:
25928 case INBOUND:
25929 case OUTBOUND:
25930 case UNBOUNDED:
25931 case INFINITE:
25932 case LOGIN:
25933 case MASKED:
25934 case MAXDOP:
25935 case MOVE:
25936 case NOCHECK:
25937 case OBJECT:
25938 case ONLINE:
25939 case OVER:
25940 case PAGE:
25941 case PAUSED:
25942 case PERIOD:
25943 case PERSISTED:
25944 case PRECEDING:
25945 case RANDOMIZED:
25946 case RANGE:
25947 case REBUILD:
25948 case REPLICATE:
25949 case REPLICATION:
25950 case RESUMABLE:
25951 case ROWGUIDCOL:
25952 case SAVE:
25953 case SELF:
25954 case SPARSE:
25955 case SWITCH:
25956 case TRAN:
25957 case TRANCOUNT:
25958 case CONTROL:
25959 case CONCAT:
25960 case TAKE:
25961 case OWNERSHIP:
25962 case DEFINITION:
25963 case APPLICATION:
25964 case ASSEMBLY:
25965 case SYMMETRIC:
25966 case ASYMMETRIC:
25967 case SERVER:
25968 case RECEIVE:
25969 case CHANGE:
25970 case TRACE:
25971 case TRACKING:
25972 case RESOURCES:
25973 case SETTINGS:
25974 case STATE:
25975 case AVAILABILITY:
25976 case CREDENTIAL:
25977 case ENDPOINT:
25978 case EVENT:
25979 case NOTIFICATION:
25980 case LINKED:
25981 case AUDIT:
25982 case DDL:
25983 case XML:
25984 case IMPERSONATE:
25985 case SECURABLES:
25986 case AUTHENTICATE:
25987 case EXTERNAL:
25988 case ACCESS:
25989 case ADMINISTER:
25990 case BULK:
25991 case OPERATIONS:
25992 case UNSAFE:
25993 case SHUTDOWN:
25994 case SCOPED:
25995 case CONFIGURATION:
25996 case DATASPACE:
25997 case SERVICE:
25998 case CERTIFICATE:
25999 case CONTRACT:
26000 case ENCRYPTION:
26001 case MASTER:
26002 case DATA:
26003 case SOURCE:
26004 case FILE:
26005 case FORMAT:
26006 case LIBRARY:
26007 case FULLTEXT:
26008 case MASK:
26009 case UNMASK:
26010 case MESSAGE:
26011 case REMOTE:
26012 case BINDING:
26013 case ROUTE:
26014 case SECURITY:
26015 case POLICY:
26016 case AGGREGATE:
26017 case QUEUE:
26018 case RULE:
26019 case SYNONYM:
26020 case COLLECTION:
26021 case SCRIPT:
26022 case KILL:
26023 case BACKUP:
26024 case LOG:
26025 case SHOWPLAN:
26026 case SUBSCRIBE:
26027 case QUERY:
26028 case NOTIFICATIONS:
26029 case CHECKPOINT:
26030 case SEQUENCE:
26031 case ABORT_AFTER_WAIT:
26032 case ALLOW_PAGE_LOCKS:
26033 case ALLOW_ROW_LOCKS:
26034 case ALL_SPARSE_COLUMNS:
26035 case BUCKET_COUNT:
26036 case COLUMNSTORE_ARCHIVE:
26037 case COLUMN_ENCRYPTION_KEY:
26038 case COLUMN_SET:
26039 case COMPRESSION_DELAY:
26040 case DATABASE_DEAULT:
26041 case DATA_COMPRESSION:
26042 case DATA_CONSISTENCY_CHECK:
26043 case ENCRYPTION_TYPE:
26044 case SYSTEM_TIME:
26045 case SYSTEM_VERSIONING:
26046 case TEXTIMAGE_ON:
26047 case WAIT_AT_LOW_PRIORITY:
26048 case STATISTICS_INCREMENTAL:
26049 case STATISTICS_NORECOMPUTE:
26050 case ROUND_ROBIN:
26051 case SCHEMA_AND_DATA:
26052 case SCHEMA_ONLY:
26053 case SORT_IN_TEMPDB:
26054 case IGNORE_DUP_KEY:
26055 case IMPLICIT_TRANSACTIONS:
26056 case MAX_DURATION:
26057 case MEMORY_OPTIMIZED:
26058 case MIGRATION_STATE:
26059 case PAD_INDEX:
26060 case REMOTE_DATA_ARCHIVE:
26061 case FILESTREAM_ON:
26062 case FILETABLE_COLLATE_FILENAME:
26063 case FILETABLE_DIRECTORY:
26064 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
26065 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
26066 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
26067 case FILTER_PREDICATE:
26068 case HISTORY_RETENTION_PERIOD:
26069 case HISTORY_TABLE:
26070 case LOCK_ESCALATION:
26071 case DROP_EXISTING:
26072 case ROW_NUMBER:
26073 case FIRST:
26074 case DATETIME2:
26075 case OUTPUT:
26076 case INSERTED:
26077 case DELETED:
26078 case FILENAME:
26079 case SIZE:
26080 case MAXSIZE:
26081 case FILEGROWTH:
26082 case UNLIMITED:
26083 case KB:
26084 case MB:
26085 case GB:
26086 case TB:
26087 case CONTAINS:
26088 case MEMORY_OPTIMIZED_DATA:
26089 case FILEGROUP:
26090 case NON_TRANSACTED_ACCESS:
26091 case DB_CHAINING:
26092 case TRUSTWORTHY:
26093 case FORWARD_ONLY:
26094 case KEYSET:
26095 case FAST_FORWARD:
26096 case SCROLL_LOCKS:
26097 case OPTIMISTIC:
26098 case TYPE_WARNING:
26099 case SCHEMABINDING:
26100 case CALLER:
26101 case OWNER:
26102 case SNAPSHOT:
26103 case REPEATABLE:
26104 case SERIALIZABLE:
26105 case NATIVE_COMPILATION:
26106 case VIEW_METADATA:
26107 case INSTEAD:
26108 case APPEND:
26109 case INCREMENT:
26110 case CACHE:
26111 case MINVALUE:
26112 case MAXVALUE:
26113 case RESTART:
26114 case LOB_COMPACTION:
26115 case COMPRESS_ALL_ROW_GROUPS:
26116 case REORGANIZE:
26117 case RESUME:
26118 case PAUSE:
26119 case ABORT:
26120 case ACCELERATED_DATABASE_RECOVERY:
26121 case PERSISTENT_VERSION_STORE_FILEGROUP:
26122 case IMMEDIATE:
26123 case NO_WAIT:
26124 case TARGET_RECOVERY_TIME:
26125 case SECONDS:
26126 case HONOR_BROKER_PRIORITY:
26127 case ERROR_BROKER_CONVERSATIONS:
26128 case NEW_BROKER:
26129 case DISABLE_BROKER:
26130 case ENABLE_BROKER:
26131 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
26132 case READ_COMMITTED_SNAPSHOT:
26133 case ALLOW_SNAPSHOT_ISOLATION:
26134 case RECURSIVE_TRIGGERS:
26135 case QUOTED_IDENTIFIER:
26136 case NUMERIC_ROUNDABORT:
26137 case CONCAT_NULL_YIELDS_NULL:
26138 case COMPATIBILITY_LEVEL:
26139 case ARITHABORT:
26140 case ANSI_WARNINGS:
26141 case ANSI_PADDING:
26142 case ANSI_NULLS:
26143 case ANSI_NULL_DEFAULT:
26144 case PAGE_VERIFY:
26145 case CHECKSUM:
26146 case TORN_PAGE_DETECTION:
26147 case BULK_LOGGED:
26148 case RECOVERY:
26149 case TOTAL_EXECUTION_CPU_TIME_MS:
26150 case TOTAL_COMPILE_CPU_TIME_MS:
26151 case STALE_CAPTURE_POLICY_THRESHOLD:
26152 case EXECUTION_COUNT:
26153 case QUERY_CAPTURE_POLICY:
26154 case WAIT_STATS_CAPTURE_MODE:
26155 case MAX_PLANS_PER_QUERY:
26156 case QUERY_CAPTURE_MODE:
26157 case SIZE_BASED_CLEANUP_MODE:
26158 case INTERVAL_LENGTH_MINUTES:
26159 case MAX_STORAGE_SIZE_MB:
26160 case DATA_FLUSH_INTERVAL_SECONDS:
26161 case CLEANUP_POLICY:
26162 case CUSTOM:
26163 case STALE_QUERY_THRESHOLD_DAYS:
26164 case OPERATION_MODE:
26165 case QUERY_STORE:
26166 case CURSOR_DEFAULT:
26167 case GLOBAL:
26168 case CURSOR_CLOSE_ON_COMMIT:
26169 case HOURS:
26170 case CHANGE_RETENTION:
26171 case AUTO_CLEANUP:
26172 case CHANGE_TRACKING:
26173 case AUTOMATIC_TUNING:
26174 case FORCE_LAST_GOOD_PLAN:
26175 case AUTO_UPDATE_STATISTICS_ASYNC:
26176 case AUTO_UPDATE_STATISTICS:
26177 case AUTO_SHRINK:
26178 case AUTO_CREATE_STATISTICS:
26179 case INCREMENTAL:
26180 case AUTO_CLOSE:
26181 case DATA_RETENTION:
26182 case TEMPORAL_HISTORY_RETENTION:
26183 case EDITION:
26184 case MIXED_PAGE_ALLOCATION:
26185 case DISABLED:
26186 case ALLOWED:
26187 case HADR:
26188 case MULTI_USER:
26189 case RESTRICTED_USER:
26190 case SINGLE_USER:
26191 case OFFLINE:
26192 case EMERGENCY:
26193 case SUSPEND:
26194 case DATE_CORRELATION_OPTIMIZATION:
26195 case ELASTIC_POOL:
26196 case SERVICE_OBJECTIVE:
26197 case DATABASE_NAME:
26198 case ALLOW_CONNECTIONS:
26199 case GEO:
26200 case NAMED:
26201 case DATEFIRST:
26202 case BACKUP_STORAGE_REDUNDANCY:
26203 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
26204 case SECONDARY:
26205 case FAILOVER:
26206 case DEFAULT_FULLTEXT_LANGUAGE:
26207 case DEFAULT_LANGUAGE:
26208 case INLINE:
26209 case NESTED_TRIGGERS:
26210 case TRANSFORM_NOISE_WORDS:
26211 case TWO_DIGIT_YEAR_CUTOFF:
26212 case PERSISTENT_LOG_BUFFER:
26213 case DIRECTORY_NAME:
26214 case DATEFORMAT:
26215 case DELAYED_DURABILITY:
26216 case AUTHORIZATION:
26217 case TRANSFER:
26218 case PROVIDER:
26219 case SEARCH:
26220 case MEMBER:
26221 case IDENTIFIER_:
26222 case DELIMITED_IDENTIFIER_:
26223 enterOuterAlt(_localctx, 1);
26224 {
26225 setState(3679);
26226 variableName();
26227 }
26228 break;
26229 case CURSOR:
26230 enterOuterAlt(_localctx, 2);
26231 {
26232 setState(3680);
26233 match(CURSOR);
26234 setState(3681);
26235 cursorClause();
26236 setState(3682);
26237 match(FOR);
26238 setState(3683);
26239 select();
26240 {
26241 setState(3684);
26242 match(FOR);
26243 setState(3696);
26244 _errHandler.sync(this);
26245 switch (_input.LA(1)) {
26246 case READ_ONLY:
26247 {
26248 setState(3685);
26249 match(READ_ONLY);
26250 }
26251 break;
26252 case UPDATE:
26253 {
26254 setState(3686);
26255 match(UPDATE);
26256 {
26257 setState(3687);
26258 match(OF);
26259 setState(3688);
26260 name();
26261 setState(3693);
26262 _errHandler.sync(this);
26263 _la = _input.LA(1);
26264 while (_la==COMMA_) {
26265 {
26266 {
26267 setState(3689);
26268 match(COMMA_);
26269 setState(3690);
26270 name();
26271 }
26272 }
26273 setState(3695);
26274 _errHandler.sync(this);
26275 _la = _input.LA(1);
26276 }
26277 }
26278 }
26279 break;
26280 default:
26281 throw new NoViableAltException(this);
26282 }
26283 }
26284 }
26285 break;
26286 default:
26287 throw new NoViableAltException(this);
26288 }
26289 }
26290 catch (RecognitionException re) {
26291 _localctx.exception = re;
26292 _errHandler.reportError(this, re);
26293 _errHandler.recover(this, re);
26294 }
26295 finally {
26296 exitRule();
26297 }
26298 return _localctx;
26299 }
26300
26301 public static class CursorClauseContext extends ParserRuleContext {
26302 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
26303 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
26304 public TerminalNode SCROLL() { return getToken(SQLServerStatementParser.SCROLL, 0); }
26305 public TerminalNode STATIC() { return getToken(SQLServerStatementParser.STATIC, 0); }
26306 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
26307 public TerminalNode DYNAMIC() { return getToken(SQLServerStatementParser.DYNAMIC, 0); }
26308 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
26309 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
26310 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
26311 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
26312 public CursorClauseContext(ParserRuleContext parent, int invokingState) {
26313 super(parent, invokingState);
26314 }
26315 @Override public int getRuleIndex() { return RULE_cursorClause; }
26316 @Override
26317 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26318 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorClause(this);
26319 else return visitor.visitChildren(this);
26320 }
26321 }
26322
26323 public final CursorClauseContext cursorClause() throws RecognitionException {
26324 CursorClauseContext _localctx = new CursorClauseContext(_ctx, getState());
26325 enterRule(_localctx, 540, RULE_cursorClause);
26326 int _la;
26327 try {
26328 enterOuterAlt(_localctx, 1);
26329 {
26330 setState(3701);
26331 _errHandler.sync(this);
26332 _la = _input.LA(1);
26333 if (_la==FORWARD_ONLY || _la==SCROLL) {
26334 {
26335 setState(3700);
26336 _la = _input.LA(1);
26337 if ( !(_la==FORWARD_ONLY || _la==SCROLL) ) {
26338 _errHandler.recoverInline(this);
26339 }
26340 else {
26341 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26342 _errHandler.reportMatch(this);
26343 consume();
26344 }
26345 }
26346 }
26347
26348 setState(3704);
26349 _errHandler.sync(this);
26350 _la = _input.LA(1);
26351 if (((((_la - 514)) & ~0x3f) == 0 && ((1L << (_la - 514)) & ((1L << (STATIC - 514)) | (1L << (KEYSET - 514)) | (1L << (DYNAMIC - 514)) | (1L << (FAST_FORWARD - 514)))) != 0)) {
26352 {
26353 setState(3703);
26354 _la = _input.LA(1);
26355 if ( !(((((_la - 514)) & ~0x3f) == 0 && ((1L << (_la - 514)) & ((1L << (STATIC - 514)) | (1L << (KEYSET - 514)) | (1L << (DYNAMIC - 514)) | (1L << (FAST_FORWARD - 514)))) != 0)) ) {
26356 _errHandler.recoverInline(this);
26357 }
26358 else {
26359 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26360 _errHandler.reportMatch(this);
26361 consume();
26362 }
26363 }
26364 }
26365
26366 setState(3707);
26367 _errHandler.sync(this);
26368 _la = _input.LA(1);
26369 if (_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) {
26370 {
26371 setState(3706);
26372 _la = _input.LA(1);
26373 if ( !(_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) ) {
26374 _errHandler.recoverInline(this);
26375 }
26376 else {
26377 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26378 _errHandler.reportMatch(this);
26379 consume();
26380 }
26381 }
26382 }
26383
26384 setState(3710);
26385 _errHandler.sync(this);
26386 _la = _input.LA(1);
26387 if (_la==TYPE_WARNING) {
26388 {
26389 setState(3709);
26390 match(TYPE_WARNING);
26391 }
26392 }
26393
26394 }
26395 }
26396 catch (RecognitionException re) {
26397 _localctx.exception = re;
26398 _errHandler.reportError(this, re);
26399 _errHandler.recover(this, re);
26400 }
26401 finally {
26402 exitRule();
26403 }
26404 return _localctx;
26405 }
26406
26407 public static class CompoundOperationContext extends ParserRuleContext {
26408 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
26409 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
26410 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
26411 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
26412 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
26413 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
26414 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
26415 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
26416 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
26417 public CompoundOperationContext(ParserRuleContext parent, int invokingState) {
26418 super(parent, invokingState);
26419 }
26420 @Override public int getRuleIndex() { return RULE_compoundOperation; }
26421 @Override
26422 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26423 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundOperation(this);
26424 else return visitor.visitChildren(this);
26425 }
26426 }
26427
26428 public final CompoundOperationContext compoundOperation() throws RecognitionException {
26429 CompoundOperationContext _localctx = new CompoundOperationContext(_ctx, getState());
26430 enterRule(_localctx, 542, RULE_compoundOperation);
26431 try {
26432 setState(3728);
26433 _errHandler.sync(this);
26434 switch (_input.LA(1)) {
26435 case PLUS_:
26436 enterOuterAlt(_localctx, 1);
26437 {
26438 setState(3712);
26439 match(PLUS_);
26440 setState(3713);
26441 match(EQ_);
26442 }
26443 break;
26444 case MINUS_:
26445 enterOuterAlt(_localctx, 2);
26446 {
26447 setState(3714);
26448 match(MINUS_);
26449 setState(3715);
26450 match(EQ_);
26451 }
26452 break;
26453 case ASTERISK_:
26454 enterOuterAlt(_localctx, 3);
26455 {
26456 setState(3716);
26457 match(ASTERISK_);
26458 setState(3717);
26459 match(EQ_);
26460 }
26461 break;
26462 case SLASH_:
26463 enterOuterAlt(_localctx, 4);
26464 {
26465 setState(3718);
26466 match(SLASH_);
26467 setState(3719);
26468 match(EQ_);
26469 }
26470 break;
26471 case MOD_:
26472 enterOuterAlt(_localctx, 5);
26473 {
26474 setState(3720);
26475 match(MOD_);
26476 setState(3721);
26477 match(EQ_);
26478 }
26479 break;
26480 case AMPERSAND_:
26481 enterOuterAlt(_localctx, 6);
26482 {
26483 setState(3722);
26484 match(AMPERSAND_);
26485 setState(3723);
26486 match(EQ_);
26487 }
26488 break;
26489 case CARET_:
26490 enterOuterAlt(_localctx, 7);
26491 {
26492 setState(3724);
26493 match(CARET_);
26494 setState(3725);
26495 match(EQ_);
26496 }
26497 break;
26498 case VERTICAL_BAR_:
26499 enterOuterAlt(_localctx, 8);
26500 {
26501 setState(3726);
26502 match(VERTICAL_BAR_);
26503 setState(3727);
26504 match(EQ_);
26505 }
26506 break;
26507 default:
26508 throw new NoViableAltException(this);
26509 }
26510 }
26511 catch (RecognitionException re) {
26512 _localctx.exception = re;
26513 _errHandler.reportError(this, re);
26514 _errHandler.recover(this, re);
26515 }
26516 finally {
26517 exitRule();
26518 }
26519 return _localctx;
26520 }
26521
26522 public static class FuncParametersContext extends ParserRuleContext {
26523 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26524 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26525 public List<VariableNameContext> variableName() {
26526 return getRuleContexts(VariableNameContext.class);
26527 }
26528 public VariableNameContext variableName(int i) {
26529 return getRuleContext(VariableNameContext.class,i);
26530 }
26531 public List<DataTypeContext> dataType() {
26532 return getRuleContexts(DataTypeContext.class);
26533 }
26534 public DataTypeContext dataType(int i) {
26535 return getRuleContext(DataTypeContext.class,i);
26536 }
26537 public List<TerminalNode> AS() { return getTokens(SQLServerStatementParser.AS); }
26538 public TerminalNode AS(int i) {
26539 return getToken(SQLServerStatementParser.AS, i);
26540 }
26541 public List<OwnerContext> owner() {
26542 return getRuleContexts(OwnerContext.class);
26543 }
26544 public OwnerContext owner(int i) {
26545 return getRuleContext(OwnerContext.class,i);
26546 }
26547 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
26548 public TerminalNode DOT_(int i) {
26549 return getToken(SQLServerStatementParser.DOT_, i);
26550 }
26551 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
26552 public TerminalNode EQ_(int i) {
26553 return getToken(SQLServerStatementParser.EQ_, i);
26554 }
26555 public List<IgnoredIdentifierContext> ignoredIdentifier() {
26556 return getRuleContexts(IgnoredIdentifierContext.class);
26557 }
26558 public IgnoredIdentifierContext ignoredIdentifier(int i) {
26559 return getRuleContext(IgnoredIdentifierContext.class,i);
26560 }
26561 public List<TerminalNode> READONLY() { return getTokens(SQLServerStatementParser.READONLY); }
26562 public TerminalNode READONLY(int i) {
26563 return getToken(SQLServerStatementParser.READONLY, i);
26564 }
26565 public FuncParametersContext(ParserRuleContext parent, int invokingState) {
26566 super(parent, invokingState);
26567 }
26568 @Override public int getRuleIndex() { return RULE_funcParameters; }
26569 @Override
26570 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26571 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncParameters(this);
26572 else return visitor.visitChildren(this);
26573 }
26574 }
26575
26576 public final FuncParametersContext funcParameters() throws RecognitionException {
26577 FuncParametersContext _localctx = new FuncParametersContext(_ctx, getState());
26578 enterRule(_localctx, 544, RULE_funcParameters);
26579 int _la;
26580 try {
26581 enterOuterAlt(_localctx, 1);
26582 {
26583 setState(3730);
26584 match(LP_);
26585 setState(3750);
26586 _errHandler.sync(this);
26587 _la = _input.LA(1);
26588 while (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)))) != 0) || ((((_la - 254)) & ~0x3f) == 0 && ((1L << (_la - 254)) & ((1L << (ROLE - 254)) | (1L << (START - 254)) | (1L << (ALGORITHM - 254)) | (1L << (AUTO - 254)) | (1L << (BLOCKERS - 254)) | (1L << (CLUSTERED - 254)) | (1L << (NONCLUSTERED - 254)) | (1L << (COLUMNSTORE - 254)) | (1L << (CONTENT - 254)) | (1L << (YEARS - 254)) | (1L << (MONTHS - 254)) | (1L << (WEEKS - 254)) | (1L << (DAYS - 254)) | (1L << (MINUTES - 254)) | (1L << (DENY - 254)) | (1L << (DETERMINISTIC - 254)) | (1L << (DISTRIBUTION - 254)) | (1L << (DOCUMENT - 254)) | (1L << (DURABILITY - 254)) | (1L << (ENCRYPTED - 254)) | (1L << (FILESTREAM - 254)) | (1L << (FILETABLE - 254)) | (1L << (FILLFACTOR - 254)) | (1L << (FOLLOWING - 254)) | (1L << (HASH - 254)) | (1L << (HEAP - 254)) | (1L << (INBOUND - 254)) | (1L << (OUTBOUND - 254)) | (1L << (UNBOUNDED - 254)) | (1L << (INFINITE - 254)) | (1L << (LOGIN - 254)) | (1L << (MASKED - 254)) | (1L << (MAXDOP - 254)) | (1L << (MOVE - 254)) | (1L << (NOCHECK - 254)) | (1L << (OBJECT - 254)) | (1L << (ONLINE - 254)) | (1L << (OVER - 254)) | (1L << (PAGE - 254)) | (1L << (PAUSED - 254)) | (1L << (PERIOD - 254)) | (1L << (PERSISTED - 254)) | (1L << (PRECEDING - 254)) | (1L << (RANDOMIZED - 254)) | (1L << (RANGE - 254)) | (1L << (REBUILD - 254)) | (1L << (REPLICATE - 254)) | (1L << (REPLICATION - 254)) | (1L << (RESUMABLE - 254)) | (1L << (ROWGUIDCOL - 254)) | (1L << (SAVE - 254)) | (1L << (SELF - 254)) | (1L << (SPARSE - 254)) | (1L << (SWITCH - 254)) | (1L << (TRAN - 254)) | (1L << (TRANCOUNT - 254)))) != 0) || ((((_la - 324)) & ~0x3f) == 0 && ((1L << (_la - 324)) & ((1L << (CONTROL - 324)) | (1L << (CONCAT - 324)) | (1L << (TAKE - 324)) | (1L << (OWNERSHIP - 324)) | (1L << (DEFINITION - 324)) | (1L << (APPLICATION - 324)) | (1L << (ASSEMBLY - 324)) | (1L << (SYMMETRIC - 324)) | (1L << (ASYMMETRIC - 324)) | (1L << (SERVER - 324)) | (1L << (RECEIVE - 324)) | (1L << (CHANGE - 324)) | (1L << (TRACE - 324)) | (1L << (TRACKING - 324)) | (1L << (RESOURCES - 324)) | (1L << (SETTINGS - 324)) | (1L << (STATE - 324)) | (1L << (AVAILABILITY - 324)) | (1L << (CREDENTIAL - 324)) | (1L << (ENDPOINT - 324)) | (1L << (EVENT - 324)) | (1L << (NOTIFICATION - 324)) | (1L << (LINKED - 324)) | (1L << (AUDIT - 324)) | (1L << (DDL - 324)) | (1L << (XML - 324)) | (1L << (IMPERSONATE - 324)) | (1L << (SECURABLES - 324)) | (1L << (AUTHENTICATE - 324)) | (1L << (EXTERNAL - 324)) | (1L << (ACCESS - 324)) | (1L << (ADMINISTER - 324)) | (1L << (BULK - 324)) | (1L << (OPERATIONS - 324)) | (1L << (UNSAFE - 324)) | (1L << (SHUTDOWN - 324)) | (1L << (SCOPED - 324)) | (1L << (CONFIGURATION - 324)) | (1L << (DATASPACE - 324)) | (1L << (SERVICE - 324)) | (1L << (CERTIFICATE - 324)) | (1L << (CONTRACT - 324)) | (1L << (ENCRYPTION - 324)) | (1L << (MASTER - 324)) | (1L << (DATA - 324)) | (1L << (SOURCE - 324)) | (1L << (FILE - 324)) | (1L << (FORMAT - 324)) | (1L << (LIBRARY - 324)) | (1L << (FULLTEXT - 324)) | (1L << (MASK - 324)) | (1L << (UNMASK - 324)) | (1L << (MESSAGE - 324)) | (1L << (REMOTE - 324)) | (1L << (BINDING - 324)) | (1L << (ROUTE - 324)) | (1L << (SECURITY - 324)) | (1L << (POLICY - 324)) | (1L << (AGGREGATE - 324)) | (1L << (QUEUE - 324)) | (1L << (RULE - 324)) | (1L << (SYNONYM - 324)) | (1L << (COLLECTION - 324)) | (1L << (SCRIPT - 324)))) != 0) || ((((_la - 388)) & ~0x3f) == 0 && ((1L << (_la - 388)) & ((1L << (KILL - 388)) | (1L << (BACKUP - 388)) | (1L << (LOG - 388)) | (1L << (SHOWPLAN - 388)) | (1L << (SUBSCRIBE - 388)) | (1L << (QUERY - 388)) | (1L << (NOTIFICATIONS - 388)) | (1L << (CHECKPOINT - 388)) | (1L << (SEQUENCE - 388)) | (1L << (ABORT_AFTER_WAIT - 388)) | (1L << (ALLOW_PAGE_LOCKS - 388)) | (1L << (ALLOW_ROW_LOCKS - 388)) | (1L << (ALL_SPARSE_COLUMNS - 388)) | (1L << (BUCKET_COUNT - 388)) | (1L << (COLUMNSTORE_ARCHIVE - 388)) | (1L << (COLUMN_ENCRYPTION_KEY - 388)) | (1L << (COLUMN_SET - 388)) | (1L << (COMPRESSION_DELAY - 388)) | (1L << (DATABASE_DEAULT - 388)) | (1L << (DATA_COMPRESSION - 388)) | (1L << (DATA_CONSISTENCY_CHECK - 388)) | (1L << (ENCRYPTION_TYPE - 388)) | (1L << (SYSTEM_TIME - 388)) | (1L << (SYSTEM_VERSIONING - 388)) | (1L << (TEXTIMAGE_ON - 388)) | (1L << (WAIT_AT_LOW_PRIORITY - 388)) | (1L << (STATISTICS_INCREMENTAL - 388)) | (1L << (STATISTICS_NORECOMPUTE - 388)) | (1L << (ROUND_ROBIN - 388)) | (1L << (SCHEMA_AND_DATA - 388)) | (1L << (SCHEMA_ONLY - 388)) | (1L << (SORT_IN_TEMPDB - 388)) | (1L << (IGNORE_DUP_KEY - 388)) | (1L << (IMPLICIT_TRANSACTIONS - 388)) | (1L << (MAX_DURATION - 388)) | (1L << (MEMORY_OPTIMIZED - 388)) | (1L << (MIGRATION_STATE - 388)) | (1L << (PAD_INDEX - 388)) | (1L << (REMOTE_DATA_ARCHIVE - 388)) | (1L << (FILESTREAM_ON - 388)) | (1L << (FILETABLE_COLLATE_FILENAME - 388)) | (1L << (FILETABLE_DIRECTORY - 388)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILTER_PREDICATE - 388)) | (1L << (HISTORY_RETENTION_PERIOD - 388)) | (1L << (HISTORY_TABLE - 388)) | (1L << (LOCK_ESCALATION - 388)) | (1L << (DROP_EXISTING - 388)) | (1L << (ROW_NUMBER - 388)) | (1L << (FIRST - 388)) | (1L << (DATETIME2 - 388)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (OUTPUT - 458)) | (1L << (INSERTED - 458)) | (1L << (DELETED - 458)) | (1L << (FILENAME - 458)) | (1L << (SIZE - 458)) | (1L << (MAXSIZE - 458)) | (1L << (FILEGROWTH - 458)) | (1L << (UNLIMITED - 458)) | (1L << (KB - 458)) | (1L << (MB - 458)) | (1L << (GB - 458)) | (1L << (TB - 458)) | (1L << (CONTAINS - 458)) | (1L << (MEMORY_OPTIMIZED_DATA - 458)) | (1L << (FILEGROUP - 458)) | (1L << (NON_TRANSACTED_ACCESS - 458)) | (1L << (DB_CHAINING - 458)) | (1L << (TRUSTWORTHY - 458)) | (1L << (FORWARD_ONLY - 458)) | (1L << (KEYSET - 458)) | (1L << (FAST_FORWARD - 458)) | (1L << (SCROLL_LOCKS - 458)) | (1L << (OPTIMISTIC - 458)) | (1L << (TYPE_WARNING - 458)) | (1L << (SCHEMABINDING - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (CALLER - 522)) | (1L << (OWNER - 522)) | (1L << (SNAPSHOT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (SERIALIZABLE - 522)) | (1L << (NATIVE_COMPILATION - 522)) | (1L << (VIEW_METADATA - 522)) | (1L << (INSTEAD - 522)) | (1L << (APPEND - 522)) | (1L << (INCREMENT - 522)) | (1L << (CACHE - 522)) | (1L << (MINVALUE - 522)) | (1L << (MAXVALUE - 522)) | (1L << (RESTART - 522)) | (1L << (LOB_COMPACTION - 522)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 522)) | (1L << (REORGANIZE - 522)) | (1L << (RESUME - 522)) | (1L << (PAUSE - 522)) | (1L << (ABORT - 522)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 522)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 522)) | (1L << (IMMEDIATE - 522)) | (1L << (NO_WAIT - 522)) | (1L << (TARGET_RECOVERY_TIME - 522)) | (1L << (SECONDS - 522)) | (1L << (HONOR_BROKER_PRIORITY - 522)) | (1L << (ERROR_BROKER_CONVERSATIONS - 522)) | (1L << (NEW_BROKER - 522)) | (1L << (DISABLE_BROKER - 522)) | (1L << (ENABLE_BROKER - 522)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 522)) | (1L << (READ_COMMITTED_SNAPSHOT - 522)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 522)) | (1L << (RECURSIVE_TRIGGERS - 522)) | (1L << (QUOTED_IDENTIFIER - 522)) | (1L << (NUMERIC_ROUNDABORT - 522)) | (1L << (CONCAT_NULL_YIELDS_NULL - 522)) | (1L << (COMPATIBILITY_LEVEL - 522)) | (1L << (ARITHABORT - 522)) | (1L << (ANSI_WARNINGS - 522)) | (1L << (ANSI_PADDING - 522)) | (1L << (ANSI_NULLS - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (ANSI_NULL_DEFAULT - 586)) | (1L << (PAGE_VERIFY - 586)) | (1L << (CHECKSUM - 586)) | (1L << (TORN_PAGE_DETECTION - 586)) | (1L << (BULK_LOGGED - 586)) | (1L << (RECOVERY - 586)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 586)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 586)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 586)) | (1L << (EXECUTION_COUNT - 586)) | (1L << (QUERY_CAPTURE_POLICY - 586)) | (1L << (WAIT_STATS_CAPTURE_MODE - 586)) | (1L << (MAX_PLANS_PER_QUERY - 586)) | (1L << (QUERY_CAPTURE_MODE - 586)) | (1L << (SIZE_BASED_CLEANUP_MODE - 586)) | (1L << (INTERVAL_LENGTH_MINUTES - 586)) | (1L << (MAX_STORAGE_SIZE_MB - 586)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 586)) | (1L << (CLEANUP_POLICY - 586)) | (1L << (CUSTOM - 586)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 586)) | (1L << (OPERATION_MODE - 586)) | (1L << (QUERY_STORE - 586)) | (1L << (CURSOR_DEFAULT - 586)) | (1L << (GLOBAL - 586)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 586)) | (1L << (HOURS - 586)) | (1L << (CHANGE_RETENTION - 586)) | (1L << (AUTO_CLEANUP - 586)) | (1L << (CHANGE_TRACKING - 586)) | (1L << (AUTOMATIC_TUNING - 586)) | (1L << (FORCE_LAST_GOOD_PLAN - 586)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 586)) | (1L << (AUTO_UPDATE_STATISTICS - 586)) | (1L << (AUTO_SHRINK - 586)) | (1L << (AUTO_CREATE_STATISTICS - 586)) | (1L << (INCREMENTAL - 586)) | (1L << (AUTO_CLOSE - 586)) | (1L << (DATA_RETENTION - 586)) | (1L << (TEMPORAL_HISTORY_RETENTION - 586)) | (1L << (EDITION - 586)) | (1L << (MIXED_PAGE_ALLOCATION - 586)) | (1L << (DISABLED - 586)) | (1L << (ALLOWED - 586)) | (1L << (HADR - 586)) | (1L << (MULTI_USER - 586)) | (1L << (RESTRICTED_USER - 586)) | (1L << (SINGLE_USER - 586)) | (1L << (OFFLINE - 586)) | (1L << (EMERGENCY - 586)) | (1L << (SUSPEND - 586)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 586)) | (1L << (ELASTIC_POOL - 586)) | (1L << (SERVICE_OBJECTIVE - 586)) | (1L << (DATABASE_NAME - 586)) | (1L << (ALLOW_CONNECTIONS - 586)) | (1L << (GEO - 586)) | (1L << (NAMED - 586)) | (1L << (DATEFIRST - 586)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 586)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 586)) | (1L << (SECONDARY - 586)) | (1L << (FAILOVER - 586)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (DEFAULT_LANGUAGE - 650)) | (1L << (INLINE - 650)) | (1L << (NESTED_TRIGGERS - 650)) | (1L << (TRANSFORM_NOISE_WORDS - 650)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 650)) | (1L << (PERSISTENT_LOG_BUFFER - 650)) | (1L << (DIRECTORY_NAME - 650)) | (1L << (DATEFORMAT - 650)) | (1L << (DELAYED_DURABILITY - 650)) | (1L << (AUTHORIZATION - 650)) | (1L << (TRANSFER - 650)) | (1L << (PROVIDER - 650)) | (1L << (SEARCH - 650)) | (1L << (MEMBER - 650)) | (1L << (IDENTIFIER_ - 650)) | (1L << (DELIMITED_IDENTIFIER_ - 650)))) != 0)) {
26589 {
26590 {
26591 setState(3731);
26592 variableName();
26593 setState(3733);
26594 _errHandler.sync(this);
26595 _la = _input.LA(1);
26596 if (_la==AS) {
26597 {
26598 setState(3732);
26599 match(AS);
26600 }
26601 }
26602
26603 setState(3738);
26604 _errHandler.sync(this);
26605 switch ( getInterpreter().adaptivePredict(_input,373,_ctx) ) {
26606 case 1:
26607 {
26608 setState(3735);
26609 owner();
26610 setState(3736);
26611 match(DOT_);
26612 }
26613 break;
26614 }
26615 setState(3740);
26616 dataType();
26617 setState(3743);
26618 _errHandler.sync(this);
26619 _la = _input.LA(1);
26620 if (_la==EQ_) {
26621 {
26622 setState(3741);
26623 match(EQ_);
26624 setState(3742);
26625 ignoredIdentifier();
26626 }
26627 }
26628
26629 setState(3746);
26630 _errHandler.sync(this);
26631 _la = _input.LA(1);
26632 if (_la==READONLY) {
26633 {
26634 setState(3745);
26635 match(READONLY);
26636 }
26637 }
26638
26639 }
26640 }
26641 setState(3752);
26642 _errHandler.sync(this);
26643 _la = _input.LA(1);
26644 }
26645 setState(3753);
26646 match(RP_);
26647 }
26648 }
26649 catch (RecognitionException re) {
26650 _localctx.exception = re;
26651 _errHandler.reportError(this, re);
26652 _errHandler.recover(this, re);
26653 }
26654 finally {
26655 exitRule();
26656 }
26657 return _localctx;
26658 }
26659
26660 public static class FuncReturnsContext extends ParserRuleContext {
26661 public FuncScalarReturnContext funcScalarReturn() {
26662 return getRuleContext(FuncScalarReturnContext.class,0);
26663 }
26664 public FuncInlineReturnContext funcInlineReturn() {
26665 return getRuleContext(FuncInlineReturnContext.class,0);
26666 }
26667 public FuncMutiReturnContext funcMutiReturn() {
26668 return getRuleContext(FuncMutiReturnContext.class,0);
26669 }
26670 public FuncReturnsContext(ParserRuleContext parent, int invokingState) {
26671 super(parent, invokingState);
26672 }
26673 @Override public int getRuleIndex() { return RULE_funcReturns; }
26674 @Override
26675 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26676 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncReturns(this);
26677 else return visitor.visitChildren(this);
26678 }
26679 }
26680
26681 public final FuncReturnsContext funcReturns() throws RecognitionException {
26682 FuncReturnsContext _localctx = new FuncReturnsContext(_ctx, getState());
26683 enterRule(_localctx, 546, RULE_funcReturns);
26684 try {
26685 setState(3758);
26686 _errHandler.sync(this);
26687 switch ( getInterpreter().adaptivePredict(_input,377,_ctx) ) {
26688 case 1:
26689 enterOuterAlt(_localctx, 1);
26690 {
26691 setState(3755);
26692 funcScalarReturn();
26693 }
26694 break;
26695 case 2:
26696 enterOuterAlt(_localctx, 2);
26697 {
26698 setState(3756);
26699 funcInlineReturn();
26700 }
26701 break;
26702 case 3:
26703 enterOuterAlt(_localctx, 3);
26704 {
26705 setState(3757);
26706 funcMutiReturn();
26707 }
26708 break;
26709 }
26710 }
26711 catch (RecognitionException re) {
26712 _localctx.exception = re;
26713 _errHandler.reportError(this, re);
26714 _errHandler.recover(this, re);
26715 }
26716 finally {
26717 exitRule();
26718 }
26719 return _localctx;
26720 }
26721
26722 public static class FuncMutiReturnContext extends ParserRuleContext {
26723 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
26724 public VariableNameContext variableName() {
26725 return getRuleContext(VariableNameContext.class,0);
26726 }
26727 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
26728 public CreateTableDefinitionsContext createTableDefinitions() {
26729 return getRuleContext(CreateTableDefinitionsContext.class,0);
26730 }
26731 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
26732 public CompoundStatementContext compoundStatement() {
26733 return getRuleContext(CompoundStatementContext.class,0);
26734 }
26735 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
26736 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
26737 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26738 public List<FunctionOptionContext> functionOption() {
26739 return getRuleContexts(FunctionOptionContext.class);
26740 }
26741 public FunctionOptionContext functionOption(int i) {
26742 return getRuleContext(FunctionOptionContext.class,i);
26743 }
26744 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26745 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26746 public TerminalNode COMMA_(int i) {
26747 return getToken(SQLServerStatementParser.COMMA_, i);
26748 }
26749 public FuncMutiReturnContext(ParserRuleContext parent, int invokingState) {
26750 super(parent, invokingState);
26751 }
26752 @Override public int getRuleIndex() { return RULE_funcMutiReturn; }
26753 @Override
26754 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26755 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncMutiReturn(this);
26756 else return visitor.visitChildren(this);
26757 }
26758 }
26759
26760 public final FuncMutiReturnContext funcMutiReturn() throws RecognitionException {
26761 FuncMutiReturnContext _localctx = new FuncMutiReturnContext(_ctx, getState());
26762 enterRule(_localctx, 548, RULE_funcMutiReturn);
26763 int _la;
26764 try {
26765 enterOuterAlt(_localctx, 1);
26766 {
26767 setState(3760);
26768 match(RETURNS);
26769 setState(3761);
26770 variableName();
26771 setState(3762);
26772 match(TABLE);
26773 setState(3763);
26774 createTableDefinitions();
26775 setState(3773);
26776 _errHandler.sync(this);
26777 _la = _input.LA(1);
26778 if (_la==WITH) {
26779 {
26780 setState(3764);
26781 match(WITH);
26782 setState(3765);
26783 functionOption();
26784 setState(3770);
26785 _errHandler.sync(this);
26786 _la = _input.LA(1);
26787 while (_la==COMMA_) {
26788 {
26789 {
26790 setState(3766);
26791 match(COMMA_);
26792 setState(3767);
26793 functionOption();
26794 }
26795 }
26796 setState(3772);
26797 _errHandler.sync(this);
26798 _la = _input.LA(1);
26799 }
26800 }
26801 }
26802
26803 setState(3776);
26804 _errHandler.sync(this);
26805 _la = _input.LA(1);
26806 if (_la==AS) {
26807 {
26808 setState(3775);
26809 match(AS);
26810 }
26811 }
26812
26813 setState(3778);
26814 match(BEGIN);
26815 setState(3779);
26816 compoundStatement();
26817 setState(3780);
26818 match(RETURN);
26819 setState(3781);
26820 match(END);
26821 }
26822 }
26823 catch (RecognitionException re) {
26824 _localctx.exception = re;
26825 _errHandler.reportError(this, re);
26826 _errHandler.recover(this, re);
26827 }
26828 finally {
26829 exitRule();
26830 }
26831 return _localctx;
26832 }
26833
26834 public static class FuncInlineReturnContext extends ParserRuleContext {
26835 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
26836 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
26837 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
26838 public SelectContext select() {
26839 return getRuleContext(SelectContext.class,0);
26840 }
26841 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26842 public List<FunctionOptionContext> functionOption() {
26843 return getRuleContexts(FunctionOptionContext.class);
26844 }
26845 public FunctionOptionContext functionOption(int i) {
26846 return getRuleContext(FunctionOptionContext.class,i);
26847 }
26848 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26849 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26850 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26851 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26852 public TerminalNode COMMA_(int i) {
26853 return getToken(SQLServerStatementParser.COMMA_, i);
26854 }
26855 public FuncInlineReturnContext(ParserRuleContext parent, int invokingState) {
26856 super(parent, invokingState);
26857 }
26858 @Override public int getRuleIndex() { return RULE_funcInlineReturn; }
26859 @Override
26860 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26861 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncInlineReturn(this);
26862 else return visitor.visitChildren(this);
26863 }
26864 }
26865
26866 public final FuncInlineReturnContext funcInlineReturn() throws RecognitionException {
26867 FuncInlineReturnContext _localctx = new FuncInlineReturnContext(_ctx, getState());
26868 enterRule(_localctx, 550, RULE_funcInlineReturn);
26869 int _la;
26870 try {
26871 enterOuterAlt(_localctx, 1);
26872 {
26873 setState(3783);
26874 match(RETURNS);
26875 setState(3784);
26876 match(TABLE);
26877 setState(3794);
26878 _errHandler.sync(this);
26879 _la = _input.LA(1);
26880 if (_la==WITH) {
26881 {
26882 setState(3785);
26883 match(WITH);
26884 setState(3786);
26885 functionOption();
26886 setState(3791);
26887 _errHandler.sync(this);
26888 _la = _input.LA(1);
26889 while (_la==COMMA_) {
26890 {
26891 {
26892 setState(3787);
26893 match(COMMA_);
26894 setState(3788);
26895 functionOption();
26896 }
26897 }
26898 setState(3793);
26899 _errHandler.sync(this);
26900 _la = _input.LA(1);
26901 }
26902 }
26903 }
26904
26905 setState(3797);
26906 _errHandler.sync(this);
26907 _la = _input.LA(1);
26908 if (_la==AS) {
26909 {
26910 setState(3796);
26911 match(AS);
26912 }
26913 }
26914
26915 setState(3799);
26916 match(RETURN);
26917 setState(3801);
26918 _errHandler.sync(this);
26919 _la = _input.LA(1);
26920 if (_la==LP_) {
26921 {
26922 setState(3800);
26923 match(LP_);
26924 }
26925 }
26926
26927 setState(3803);
26928 select();
26929 setState(3805);
26930 _errHandler.sync(this);
26931 _la = _input.LA(1);
26932 if (_la==RP_) {
26933 {
26934 setState(3804);
26935 match(RP_);
26936 }
26937 }
26938
26939 }
26940 }
26941 catch (RecognitionException re) {
26942 _localctx.exception = re;
26943 _errHandler.reportError(this, re);
26944 _errHandler.recover(this, re);
26945 }
26946 finally {
26947 exitRule();
26948 }
26949 return _localctx;
26950 }
26951
26952 public static class FuncScalarReturnContext extends ParserRuleContext {
26953 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
26954 public DataTypeContext dataType() {
26955 return getRuleContext(DataTypeContext.class,0);
26956 }
26957 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
26958 public CompoundStatementContext compoundStatement() {
26959 return getRuleContext(CompoundStatementContext.class,0);
26960 }
26961 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
26962 public ExprContext expr() {
26963 return getRuleContext(ExprContext.class,0);
26964 }
26965 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26966 public List<FunctionOptionContext> functionOption() {
26967 return getRuleContexts(FunctionOptionContext.class);
26968 }
26969 public FunctionOptionContext functionOption(int i) {
26970 return getRuleContext(FunctionOptionContext.class,i);
26971 }
26972 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26973 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26974 public TerminalNode COMMA_(int i) {
26975 return getToken(SQLServerStatementParser.COMMA_, i);
26976 }
26977 public FuncScalarReturnContext(ParserRuleContext parent, int invokingState) {
26978 super(parent, invokingState);
26979 }
26980 @Override public int getRuleIndex() { return RULE_funcScalarReturn; }
26981 @Override
26982 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26983 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncScalarReturn(this);
26984 else return visitor.visitChildren(this);
26985 }
26986 }
26987
26988 public final FuncScalarReturnContext funcScalarReturn() throws RecognitionException {
26989 FuncScalarReturnContext _localctx = new FuncScalarReturnContext(_ctx, getState());
26990 enterRule(_localctx, 552, RULE_funcScalarReturn);
26991 int _la;
26992 try {
26993 enterOuterAlt(_localctx, 1);
26994 {
26995 setState(3807);
26996 match(RETURNS);
26997 setState(3808);
26998 dataType();
26999 setState(3818);
27000 _errHandler.sync(this);
27001 _la = _input.LA(1);
27002 if (_la==WITH) {
27003 {
27004 setState(3809);
27005 match(WITH);
27006 setState(3810);
27007 functionOption();
27008 setState(3815);
27009 _errHandler.sync(this);
27010 _la = _input.LA(1);
27011 while (_la==COMMA_) {
27012 {
27013 {
27014 setState(3811);
27015 match(COMMA_);
27016 setState(3812);
27017 functionOption();
27018 }
27019 }
27020 setState(3817);
27021 _errHandler.sync(this);
27022 _la = _input.LA(1);
27023 }
27024 }
27025 }
27026
27027 setState(3821);
27028 _errHandler.sync(this);
27029 _la = _input.LA(1);
27030 if (_la==AS) {
27031 {
27032 setState(3820);
27033 match(AS);
27034 }
27035 }
27036
27037 setState(3823);
27038 match(BEGIN);
27039 setState(3824);
27040 compoundStatement();
27041 setState(3825);
27042 match(RETURN);
27043 setState(3826);
27044 expr(0);
27045 }
27046 }
27047 catch (RecognitionException re) {
27048 _localctx.exception = re;
27049 _errHandler.reportError(this, re);
27050 _errHandler.recover(this, re);
27051 }
27052 finally {
27053 exitRule();
27054 }
27055 return _localctx;
27056 }
27057
27058 public static class TableTypeDefinitionContext extends ParserRuleContext {
27059 public ColumnDefinitionContext columnDefinition() {
27060 return getRuleContext(ColumnDefinitionContext.class,0);
27061 }
27062 public ColumnConstraintContext columnConstraint() {
27063 return getRuleContext(ColumnConstraintContext.class,0);
27064 }
27065 public ComputedColumnDefinitionContext computedColumnDefinition() {
27066 return getRuleContext(ComputedColumnDefinitionContext.class,0);
27067 }
27068 public List<TableConstraintContext> tableConstraint() {
27069 return getRuleContexts(TableConstraintContext.class);
27070 }
27071 public TableConstraintContext tableConstraint(int i) {
27072 return getRuleContext(TableConstraintContext.class,i);
27073 }
27074 public TableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
27075 super(parent, invokingState);
27076 }
27077 @Override public int getRuleIndex() { return RULE_tableTypeDefinition; }
27078 @Override
27079 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27080 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableTypeDefinition(this);
27081 else return visitor.visitChildren(this);
27082 }
27083 }
27084
27085 public final TableTypeDefinitionContext tableTypeDefinition() throws RecognitionException {
27086 TableTypeDefinitionContext _localctx = new TableTypeDefinitionContext(_ctx, getState());
27087 enterRule(_localctx, 554, RULE_tableTypeDefinition);
27088 int _la;
27089 try {
27090 enterOuterAlt(_localctx, 1);
27091 {
27092 setState(3832);
27093 _errHandler.sync(this);
27094 switch ( getInterpreter().adaptivePredict(_input,389,_ctx) ) {
27095 case 1:
27096 {
27097 setState(3828);
27098 columnDefinition();
27099 setState(3829);
27100 columnConstraint();
27101 }
27102 break;
27103 case 2:
27104 {
27105 setState(3831);
27106 computedColumnDefinition();
27107 }
27108 break;
27109 }
27110 setState(3837);
27111 _errHandler.sync(this);
27112 _la = _input.LA(1);
27113 while (((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (LP_ - 31)) | (1L << (CONSTRAINT - 31)) | (1L << (PRIMARY - 31)) | (1L << (UNIQUE - 31)) | (1L << (FOREIGN - 31)) | (1L << (KEY - 31)))) != 0) || _la==CHECK) {
27114 {
27115 {
27116 setState(3834);
27117 tableConstraint();
27118 }
27119 }
27120 setState(3839);
27121 _errHandler.sync(this);
27122 _la = _input.LA(1);
27123 }
27124 }
27125 }
27126 catch (RecognitionException re) {
27127 _localctx.exception = re;
27128 _errHandler.reportError(this, re);
27129 _errHandler.recover(this, re);
27130 }
27131 finally {
27132 exitRule();
27133 }
27134 return _localctx;
27135 }
27136
27137 public static class CompoundStatementContext extends ParserRuleContext {
27138 public List<ValidStatementContext> validStatement() {
27139 return getRuleContexts(ValidStatementContext.class);
27140 }
27141 public ValidStatementContext validStatement(int i) {
27142 return getRuleContext(ValidStatementContext.class,i);
27143 }
27144 public CompoundStatementContext(ParserRuleContext parent, int invokingState) {
27145 super(parent, invokingState);
27146 }
27147 @Override public int getRuleIndex() { return RULE_compoundStatement; }
27148 @Override
27149 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27150 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundStatement(this);
27151 else return visitor.visitChildren(this);
27152 }
27153 }
27154
27155 public final CompoundStatementContext compoundStatement() throws RecognitionException {
27156 CompoundStatementContext _localctx = new CompoundStatementContext(_ctx, getState());
27157 enterRule(_localctx, 556, RULE_compoundStatement);
27158 int _la;
27159 try {
27160 enterOuterAlt(_localctx, 1);
27161 {
27162 setState(3843);
27163 _errHandler.sync(this);
27164 _la = _input.LA(1);
27165 while (((((_la - 46)) & ~0x3f) == 0 && ((1L << (_la - 46)) & ((1L << (SELECT - 46)) | (1L << (INSERT - 46)) | (1L << (UPDATE - 46)) | (1L << (DELETE - 46)) | (1L << (CREATE - 46)) | (1L << (ALTER - 46)) | (1L << (DROP - 46)) | (1L << (TRUNCATE - 46)) | (1L << (SET - 46)) | (1L << (WITH - 46)))) != 0) || _la==DECLARE) {
27166 {
27167 {
27168 setState(3840);
27169 validStatement();
27170 }
27171 }
27172 setState(3845);
27173 _errHandler.sync(this);
27174 _la = _input.LA(1);
27175 }
27176 }
27177 }
27178 catch (RecognitionException re) {
27179 _localctx.exception = re;
27180 _errHandler.reportError(this, re);
27181 _errHandler.recover(this, re);
27182 }
27183 finally {
27184 exitRule();
27185 }
27186 return _localctx;
27187 }
27188
27189 public static class FunctionOptionContext extends ParserRuleContext {
27190 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
27191 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
27192 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
27193 public List<TerminalNode> NULL() { return getTokens(SQLServerStatementParser.NULL); }
27194 public TerminalNode NULL(int i) {
27195 return getToken(SQLServerStatementParser.NULL, i);
27196 }
27197 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
27198 public TerminalNode INPUT() { return getToken(SQLServerStatementParser.INPUT, 0); }
27199 public TerminalNode CALLED() { return getToken(SQLServerStatementParser.CALLED, 0); }
27200 public ExecuteAsClauseContext executeAsClause() {
27201 return getRuleContext(ExecuteAsClauseContext.class,0);
27202 }
27203 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
27204 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
27205 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
27206 public FunctionOptionContext(ParserRuleContext parent, int invokingState) {
27207 super(parent, invokingState);
27208 }
27209 @Override public int getRuleIndex() { return RULE_functionOption; }
27210 @Override
27211 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27212 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionOption(this);
27213 else return visitor.visitChildren(this);
27214 }
27215 }
27216
27217 public final FunctionOptionContext functionOption() throws RecognitionException {
27218 FunctionOptionContext _localctx = new FunctionOptionContext(_ctx, getState());
27219 enterRule(_localctx, 558, RULE_functionOption);
27220 int _la;
27221 try {
27222 setState(3871);
27223 _errHandler.sync(this);
27224 switch ( getInterpreter().adaptivePredict(_input,397,_ctx) ) {
27225 case 1:
27226 enterOuterAlt(_localctx, 1);
27227 {
27228 setState(3847);
27229 _errHandler.sync(this);
27230 _la = _input.LA(1);
27231 if (_la==ENCRYPTION) {
27232 {
27233 setState(3846);
27234 match(ENCRYPTION);
27235 }
27236 }
27237
27238 }
27239 break;
27240 case 2:
27241 enterOuterAlt(_localctx, 2);
27242 {
27243 setState(3850);
27244 _errHandler.sync(this);
27245 _la = _input.LA(1);
27246 if (_la==SCHEMABINDING) {
27247 {
27248 setState(3849);
27249 match(SCHEMABINDING);
27250 }
27251 }
27252
27253 }
27254 break;
27255 case 3:
27256 enterOuterAlt(_localctx, 3);
27257 {
27258 setState(3861);
27259 _errHandler.sync(this);
27260 switch (_input.LA(1)) {
27261 case RETURNS:
27262 {
27263 setState(3852);
27264 match(RETURNS);
27265 setState(3853);
27266 match(NULL);
27267 setState(3854);
27268 match(ON);
27269 setState(3855);
27270 match(NULL);
27271 setState(3856);
27272 match(INPUT);
27273 }
27274 break;
27275 case CALLED:
27276 {
27277 setState(3857);
27278 match(CALLED);
27279 setState(3858);
27280 match(ON);
27281 setState(3859);
27282 match(NULL);
27283 setState(3860);
27284 match(INPUT);
27285 }
27286 break;
27287 case COMMA_:
27288 case AS:
27289 case BEGIN:
27290 case RETURN:
27291 break;
27292 default:
27293 break;
27294 }
27295 }
27296 break;
27297 case 4:
27298 enterOuterAlt(_localctx, 4);
27299 {
27300 setState(3864);
27301 _errHandler.sync(this);
27302 _la = _input.LA(1);
27303 if (_la==EXECUTE || _la==EXEC) {
27304 {
27305 setState(3863);
27306 executeAsClause();
27307 }
27308 }
27309
27310 }
27311 break;
27312 case 5:
27313 enterOuterAlt(_localctx, 5);
27314 {
27315 setState(3869);
27316 _errHandler.sync(this);
27317 _la = _input.LA(1);
27318 if (_la==INLINE) {
27319 {
27320 setState(3866);
27321 match(INLINE);
27322 setState(3867);
27323 match(EQ_);
27324 setState(3868);
27325 _la = _input.LA(1);
27326 if ( !(_la==ON || _la==OFF) ) {
27327 _errHandler.recoverInline(this);
27328 }
27329 else {
27330 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27331 _errHandler.reportMatch(this);
27332 consume();
27333 }
27334 }
27335 }
27336
27337 }
27338 break;
27339 }
27340 }
27341 catch (RecognitionException re) {
27342 _localctx.exception = re;
27343 _errHandler.reportError(this, re);
27344 _errHandler.recover(this, re);
27345 }
27346 finally {
27347 exitRule();
27348 }
27349 return _localctx;
27350 }
27351
27352 public static class ValidStatementContext extends ParserRuleContext {
27353 public CreateTableContext createTable() {
27354 return getRuleContext(CreateTableContext.class,0);
27355 }
27356 public AlterTableContext alterTable() {
27357 return getRuleContext(AlterTableContext.class,0);
27358 }
27359 public DropTableContext dropTable() {
27360 return getRuleContext(DropTableContext.class,0);
27361 }
27362 public TruncateTableContext truncateTable() {
27363 return getRuleContext(TruncateTableContext.class,0);
27364 }
27365 public InsertContext insert() {
27366 return getRuleContext(InsertContext.class,0);
27367 }
27368 public UpdateContext update() {
27369 return getRuleContext(UpdateContext.class,0);
27370 }
27371 public DeleteContext delete() {
27372 return getRuleContext(DeleteContext.class,0);
27373 }
27374 public SelectContext select() {
27375 return getRuleContext(SelectContext.class,0);
27376 }
27377 public SetVariableContext setVariable() {
27378 return getRuleContext(SetVariableContext.class,0);
27379 }
27380 public DeclareVariableContext declareVariable() {
27381 return getRuleContext(DeclareVariableContext.class,0);
27382 }
27383 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
27384 public ValidStatementContext(ParserRuleContext parent, int invokingState) {
27385 super(parent, invokingState);
27386 }
27387 @Override public int getRuleIndex() { return RULE_validStatement; }
27388 @Override
27389 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27390 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitValidStatement(this);
27391 else return visitor.visitChildren(this);
27392 }
27393 }
27394
27395 public final ValidStatementContext validStatement() throws RecognitionException {
27396 ValidStatementContext _localctx = new ValidStatementContext(_ctx, getState());
27397 enterRule(_localctx, 560, RULE_validStatement);
27398 try {
27399 enterOuterAlt(_localctx, 1);
27400 {
27401 setState(3883);
27402 _errHandler.sync(this);
27403 switch ( getInterpreter().adaptivePredict(_input,398,_ctx) ) {
27404 case 1:
27405 {
27406 setState(3873);
27407 createTable();
27408 }
27409 break;
27410 case 2:
27411 {
27412 setState(3874);
27413 alterTable();
27414 }
27415 break;
27416 case 3:
27417 {
27418 setState(3875);
27419 dropTable();
27420 }
27421 break;
27422 case 4:
27423 {
27424 setState(3876);
27425 truncateTable();
27426 }
27427 break;
27428 case 5:
27429 {
27430 setState(3877);
27431 insert();
27432 }
27433 break;
27434 case 6:
27435 {
27436 setState(3878);
27437 update();
27438 }
27439 break;
27440 case 7:
27441 {
27442 setState(3879);
27443 delete();
27444 }
27445 break;
27446 case 8:
27447 {
27448 setState(3880);
27449 select();
27450 }
27451 break;
27452 case 9:
27453 {
27454 setState(3881);
27455 setVariable();
27456 }
27457 break;
27458 case 10:
27459 {
27460 setState(3882);
27461 declareVariable();
27462 }
27463 break;
27464 }
27465 setState(3886);
27466 _errHandler.sync(this);
27467 switch ( getInterpreter().adaptivePredict(_input,399,_ctx) ) {
27468 case 1:
27469 {
27470 setState(3885);
27471 match(SEMI_);
27472 }
27473 break;
27474 }
27475 }
27476 }
27477 catch (RecognitionException re) {
27478 _localctx.exception = re;
27479 _errHandler.reportError(this, re);
27480 _errHandler.recover(this, re);
27481 }
27482 finally {
27483 exitRule();
27484 }
27485 return _localctx;
27486 }
27487
27488 public static class ProcParametersContext extends ParserRuleContext {
27489 public List<ProcParameterContext> procParameter() {
27490 return getRuleContexts(ProcParameterContext.class);
27491 }
27492 public ProcParameterContext procParameter(int i) {
27493 return getRuleContext(ProcParameterContext.class,i);
27494 }
27495 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27496 public TerminalNode COMMA_(int i) {
27497 return getToken(SQLServerStatementParser.COMMA_, i);
27498 }
27499 public ProcParametersContext(ParserRuleContext parent, int invokingState) {
27500 super(parent, invokingState);
27501 }
27502 @Override public int getRuleIndex() { return RULE_procParameters; }
27503 @Override
27504 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27505 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameters(this);
27506 else return visitor.visitChildren(this);
27507 }
27508 }
27509
27510 public final ProcParametersContext procParameters() throws RecognitionException {
27511 ProcParametersContext _localctx = new ProcParametersContext(_ctx, getState());
27512 enterRule(_localctx, 562, RULE_procParameters);
27513 int _la;
27514 try {
27515 enterOuterAlt(_localctx, 1);
27516 {
27517 setState(3896);
27518 _errHandler.sync(this);
27519 _la = _input.LA(1);
27520 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)))) != 0) || ((((_la - 254)) & ~0x3f) == 0 && ((1L << (_la - 254)) & ((1L << (ROLE - 254)) | (1L << (START - 254)) | (1L << (ALGORITHM - 254)) | (1L << (AUTO - 254)) | (1L << (BLOCKERS - 254)) | (1L << (CLUSTERED - 254)) | (1L << (NONCLUSTERED - 254)) | (1L << (COLUMNSTORE - 254)) | (1L << (CONTENT - 254)) | (1L << (YEARS - 254)) | (1L << (MONTHS - 254)) | (1L << (WEEKS - 254)) | (1L << (DAYS - 254)) | (1L << (MINUTES - 254)) | (1L << (DENY - 254)) | (1L << (DETERMINISTIC - 254)) | (1L << (DISTRIBUTION - 254)) | (1L << (DOCUMENT - 254)) | (1L << (DURABILITY - 254)) | (1L << (ENCRYPTED - 254)) | (1L << (FILESTREAM - 254)) | (1L << (FILETABLE - 254)) | (1L << (FILLFACTOR - 254)) | (1L << (FOLLOWING - 254)) | (1L << (HASH - 254)) | (1L << (HEAP - 254)) | (1L << (INBOUND - 254)) | (1L << (OUTBOUND - 254)) | (1L << (UNBOUNDED - 254)) | (1L << (INFINITE - 254)) | (1L << (LOGIN - 254)) | (1L << (MASKED - 254)) | (1L << (MAXDOP - 254)) | (1L << (MOVE - 254)) | (1L << (NOCHECK - 254)) | (1L << (OBJECT - 254)) | (1L << (ONLINE - 254)) | (1L << (OVER - 254)) | (1L << (PAGE - 254)) | (1L << (PAUSED - 254)) | (1L << (PERIOD - 254)) | (1L << (PERSISTED - 254)) | (1L << (PRECEDING - 254)) | (1L << (RANDOMIZED - 254)) | (1L << (RANGE - 254)) | (1L << (REBUILD - 254)) | (1L << (REPLICATE - 254)) | (1L << (REPLICATION - 254)) | (1L << (RESUMABLE - 254)) | (1L << (ROWGUIDCOL - 254)) | (1L << (SAVE - 254)) | (1L << (SELF - 254)) | (1L << (SPARSE - 254)) | (1L << (SWITCH - 254)) | (1L << (TRAN - 254)) | (1L << (TRANCOUNT - 254)))) != 0) || ((((_la - 324)) & ~0x3f) == 0 && ((1L << (_la - 324)) & ((1L << (CONTROL - 324)) | (1L << (CONCAT - 324)) | (1L << (TAKE - 324)) | (1L << (OWNERSHIP - 324)) | (1L << (DEFINITION - 324)) | (1L << (APPLICATION - 324)) | (1L << (ASSEMBLY - 324)) | (1L << (SYMMETRIC - 324)) | (1L << (ASYMMETRIC - 324)) | (1L << (SERVER - 324)) | (1L << (RECEIVE - 324)) | (1L << (CHANGE - 324)) | (1L << (TRACE - 324)) | (1L << (TRACKING - 324)) | (1L << (RESOURCES - 324)) | (1L << (SETTINGS - 324)) | (1L << (STATE - 324)) | (1L << (AVAILABILITY - 324)) | (1L << (CREDENTIAL - 324)) | (1L << (ENDPOINT - 324)) | (1L << (EVENT - 324)) | (1L << (NOTIFICATION - 324)) | (1L << (LINKED - 324)) | (1L << (AUDIT - 324)) | (1L << (DDL - 324)) | (1L << (XML - 324)) | (1L << (IMPERSONATE - 324)) | (1L << (SECURABLES - 324)) | (1L << (AUTHENTICATE - 324)) | (1L << (EXTERNAL - 324)) | (1L << (ACCESS - 324)) | (1L << (ADMINISTER - 324)) | (1L << (BULK - 324)) | (1L << (OPERATIONS - 324)) | (1L << (UNSAFE - 324)) | (1L << (SHUTDOWN - 324)) | (1L << (SCOPED - 324)) | (1L << (CONFIGURATION - 324)) | (1L << (DATASPACE - 324)) | (1L << (SERVICE - 324)) | (1L << (CERTIFICATE - 324)) | (1L << (CONTRACT - 324)) | (1L << (ENCRYPTION - 324)) | (1L << (MASTER - 324)) | (1L << (DATA - 324)) | (1L << (SOURCE - 324)) | (1L << (FILE - 324)) | (1L << (FORMAT - 324)) | (1L << (LIBRARY - 324)) | (1L << (FULLTEXT - 324)) | (1L << (MASK - 324)) | (1L << (UNMASK - 324)) | (1L << (MESSAGE - 324)) | (1L << (REMOTE - 324)) | (1L << (BINDING - 324)) | (1L << (ROUTE - 324)) | (1L << (SECURITY - 324)) | (1L << (POLICY - 324)) | (1L << (AGGREGATE - 324)) | (1L << (QUEUE - 324)) | (1L << (RULE - 324)) | (1L << (SYNONYM - 324)) | (1L << (COLLECTION - 324)) | (1L << (SCRIPT - 324)))) != 0) || ((((_la - 388)) & ~0x3f) == 0 && ((1L << (_la - 388)) & ((1L << (KILL - 388)) | (1L << (BACKUP - 388)) | (1L << (LOG - 388)) | (1L << (SHOWPLAN - 388)) | (1L << (SUBSCRIBE - 388)) | (1L << (QUERY - 388)) | (1L << (NOTIFICATIONS - 388)) | (1L << (CHECKPOINT - 388)) | (1L << (SEQUENCE - 388)) | (1L << (ABORT_AFTER_WAIT - 388)) | (1L << (ALLOW_PAGE_LOCKS - 388)) | (1L << (ALLOW_ROW_LOCKS - 388)) | (1L << (ALL_SPARSE_COLUMNS - 388)) | (1L << (BUCKET_COUNT - 388)) | (1L << (COLUMNSTORE_ARCHIVE - 388)) | (1L << (COLUMN_ENCRYPTION_KEY - 388)) | (1L << (COLUMN_SET - 388)) | (1L << (COMPRESSION_DELAY - 388)) | (1L << (DATABASE_DEAULT - 388)) | (1L << (DATA_COMPRESSION - 388)) | (1L << (DATA_CONSISTENCY_CHECK - 388)) | (1L << (ENCRYPTION_TYPE - 388)) | (1L << (SYSTEM_TIME - 388)) | (1L << (SYSTEM_VERSIONING - 388)) | (1L << (TEXTIMAGE_ON - 388)) | (1L << (WAIT_AT_LOW_PRIORITY - 388)) | (1L << (STATISTICS_INCREMENTAL - 388)) | (1L << (STATISTICS_NORECOMPUTE - 388)) | (1L << (ROUND_ROBIN - 388)) | (1L << (SCHEMA_AND_DATA - 388)) | (1L << (SCHEMA_ONLY - 388)) | (1L << (SORT_IN_TEMPDB - 388)) | (1L << (IGNORE_DUP_KEY - 388)) | (1L << (IMPLICIT_TRANSACTIONS - 388)) | (1L << (MAX_DURATION - 388)) | (1L << (MEMORY_OPTIMIZED - 388)) | (1L << (MIGRATION_STATE - 388)) | (1L << (PAD_INDEX - 388)) | (1L << (REMOTE_DATA_ARCHIVE - 388)) | (1L << (FILESTREAM_ON - 388)) | (1L << (FILETABLE_COLLATE_FILENAME - 388)) | (1L << (FILETABLE_DIRECTORY - 388)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILTER_PREDICATE - 388)) | (1L << (HISTORY_RETENTION_PERIOD - 388)) | (1L << (HISTORY_TABLE - 388)) | (1L << (LOCK_ESCALATION - 388)) | (1L << (DROP_EXISTING - 388)) | (1L << (ROW_NUMBER - 388)) | (1L << (FIRST - 388)) | (1L << (DATETIME2 - 388)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (OUTPUT - 458)) | (1L << (INSERTED - 458)) | (1L << (DELETED - 458)) | (1L << (FILENAME - 458)) | (1L << (SIZE - 458)) | (1L << (MAXSIZE - 458)) | (1L << (FILEGROWTH - 458)) | (1L << (UNLIMITED - 458)) | (1L << (KB - 458)) | (1L << (MB - 458)) | (1L << (GB - 458)) | (1L << (TB - 458)) | (1L << (CONTAINS - 458)) | (1L << (MEMORY_OPTIMIZED_DATA - 458)) | (1L << (FILEGROUP - 458)) | (1L << (NON_TRANSACTED_ACCESS - 458)) | (1L << (DB_CHAINING - 458)) | (1L << (TRUSTWORTHY - 458)) | (1L << (FORWARD_ONLY - 458)) | (1L << (KEYSET - 458)) | (1L << (FAST_FORWARD - 458)) | (1L << (SCROLL_LOCKS - 458)) | (1L << (OPTIMISTIC - 458)) | (1L << (TYPE_WARNING - 458)) | (1L << (SCHEMABINDING - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (CALLER - 522)) | (1L << (OWNER - 522)) | (1L << (SNAPSHOT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (SERIALIZABLE - 522)) | (1L << (NATIVE_COMPILATION - 522)) | (1L << (VIEW_METADATA - 522)) | (1L << (INSTEAD - 522)) | (1L << (APPEND - 522)) | (1L << (INCREMENT - 522)) | (1L << (CACHE - 522)) | (1L << (MINVALUE - 522)) | (1L << (MAXVALUE - 522)) | (1L << (RESTART - 522)) | (1L << (LOB_COMPACTION - 522)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 522)) | (1L << (REORGANIZE - 522)) | (1L << (RESUME - 522)) | (1L << (PAUSE - 522)) | (1L << (ABORT - 522)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 522)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 522)) | (1L << (IMMEDIATE - 522)) | (1L << (NO_WAIT - 522)) | (1L << (TARGET_RECOVERY_TIME - 522)) | (1L << (SECONDS - 522)) | (1L << (HONOR_BROKER_PRIORITY - 522)) | (1L << (ERROR_BROKER_CONVERSATIONS - 522)) | (1L << (NEW_BROKER - 522)) | (1L << (DISABLE_BROKER - 522)) | (1L << (ENABLE_BROKER - 522)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 522)) | (1L << (READ_COMMITTED_SNAPSHOT - 522)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 522)) | (1L << (RECURSIVE_TRIGGERS - 522)) | (1L << (QUOTED_IDENTIFIER - 522)) | (1L << (NUMERIC_ROUNDABORT - 522)) | (1L << (CONCAT_NULL_YIELDS_NULL - 522)) | (1L << (COMPATIBILITY_LEVEL - 522)) | (1L << (ARITHABORT - 522)) | (1L << (ANSI_WARNINGS - 522)) | (1L << (ANSI_PADDING - 522)) | (1L << (ANSI_NULLS - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (ANSI_NULL_DEFAULT - 586)) | (1L << (PAGE_VERIFY - 586)) | (1L << (CHECKSUM - 586)) | (1L << (TORN_PAGE_DETECTION - 586)) | (1L << (BULK_LOGGED - 586)) | (1L << (RECOVERY - 586)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 586)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 586)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 586)) | (1L << (EXECUTION_COUNT - 586)) | (1L << (QUERY_CAPTURE_POLICY - 586)) | (1L << (WAIT_STATS_CAPTURE_MODE - 586)) | (1L << (MAX_PLANS_PER_QUERY - 586)) | (1L << (QUERY_CAPTURE_MODE - 586)) | (1L << (SIZE_BASED_CLEANUP_MODE - 586)) | (1L << (INTERVAL_LENGTH_MINUTES - 586)) | (1L << (MAX_STORAGE_SIZE_MB - 586)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 586)) | (1L << (CLEANUP_POLICY - 586)) | (1L << (CUSTOM - 586)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 586)) | (1L << (OPERATION_MODE - 586)) | (1L << (QUERY_STORE - 586)) | (1L << (CURSOR_DEFAULT - 586)) | (1L << (GLOBAL - 586)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 586)) | (1L << (HOURS - 586)) | (1L << (CHANGE_RETENTION - 586)) | (1L << (AUTO_CLEANUP - 586)) | (1L << (CHANGE_TRACKING - 586)) | (1L << (AUTOMATIC_TUNING - 586)) | (1L << (FORCE_LAST_GOOD_PLAN - 586)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 586)) | (1L << (AUTO_UPDATE_STATISTICS - 586)) | (1L << (AUTO_SHRINK - 586)) | (1L << (AUTO_CREATE_STATISTICS - 586)) | (1L << (INCREMENTAL - 586)) | (1L << (AUTO_CLOSE - 586)) | (1L << (DATA_RETENTION - 586)) | (1L << (TEMPORAL_HISTORY_RETENTION - 586)) | (1L << (EDITION - 586)) | (1L << (MIXED_PAGE_ALLOCATION - 586)) | (1L << (DISABLED - 586)) | (1L << (ALLOWED - 586)) | (1L << (HADR - 586)) | (1L << (MULTI_USER - 586)) | (1L << (RESTRICTED_USER - 586)) | (1L << (SINGLE_USER - 586)) | (1L << (OFFLINE - 586)) | (1L << (EMERGENCY - 586)) | (1L << (SUSPEND - 586)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 586)) | (1L << (ELASTIC_POOL - 586)) | (1L << (SERVICE_OBJECTIVE - 586)) | (1L << (DATABASE_NAME - 586)) | (1L << (ALLOW_CONNECTIONS - 586)) | (1L << (GEO - 586)) | (1L << (NAMED - 586)) | (1L << (DATEFIRST - 586)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 586)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 586)) | (1L << (SECONDARY - 586)) | (1L << (FAILOVER - 586)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (DEFAULT_LANGUAGE - 650)) | (1L << (INLINE - 650)) | (1L << (NESTED_TRIGGERS - 650)) | (1L << (TRANSFORM_NOISE_WORDS - 650)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 650)) | (1L << (PERSISTENT_LOG_BUFFER - 650)) | (1L << (DIRECTORY_NAME - 650)) | (1L << (DATEFORMAT - 650)) | (1L << (DELAYED_DURABILITY - 650)) | (1L << (AUTHORIZATION - 650)) | (1L << (TRANSFER - 650)) | (1L << (PROVIDER - 650)) | (1L << (SEARCH - 650)) | (1L << (MEMBER - 650)) | (1L << (IDENTIFIER_ - 650)) | (1L << (DELIMITED_IDENTIFIER_ - 650)))) != 0)) {
27521 {
27522 setState(3888);
27523 procParameter();
27524 setState(3893);
27525 _errHandler.sync(this);
27526 _la = _input.LA(1);
27527 while (_la==COMMA_) {
27528 {
27529 {
27530 setState(3889);
27531 match(COMMA_);
27532 setState(3890);
27533 procParameter();
27534 }
27535 }
27536 setState(3895);
27537 _errHandler.sync(this);
27538 _la = _input.LA(1);
27539 }
27540 }
27541 }
27542
27543 }
27544 }
27545 catch (RecognitionException re) {
27546 _localctx.exception = re;
27547 _errHandler.reportError(this, re);
27548 _errHandler.recover(this, re);
27549 }
27550 finally {
27551 exitRule();
27552 }
27553 return _localctx;
27554 }
27555
27556 public static class ProcParameterContext extends ParserRuleContext {
27557 public VariableContext variable() {
27558 return getRuleContext(VariableContext.class,0);
27559 }
27560 public TerminalNode VARYING() { return getToken(SQLServerStatementParser.VARYING, 0); }
27561 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
27562 public LiteralsContext literals() {
27563 return getRuleContext(LiteralsContext.class,0);
27564 }
27565 public TerminalNode OUT() { return getToken(SQLServerStatementParser.OUT, 0); }
27566 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
27567 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
27568 public ProcParameterContext(ParserRuleContext parent, int invokingState) {
27569 super(parent, invokingState);
27570 }
27571 @Override public int getRuleIndex() { return RULE_procParameter; }
27572 @Override
27573 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27574 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameter(this);
27575 else return visitor.visitChildren(this);
27576 }
27577 }
27578
27579 public final ProcParameterContext procParameter() throws RecognitionException {
27580 ProcParameterContext _localctx = new ProcParameterContext(_ctx, getState());
27581 enterRule(_localctx, 564, RULE_procParameter);
27582 int _la;
27583 try {
27584 enterOuterAlt(_localctx, 1);
27585 {
27586 setState(3898);
27587 variable();
27588 setState(3900);
27589 _errHandler.sync(this);
27590 _la = _input.LA(1);
27591 if (_la==VARYING) {
27592 {
27593 setState(3899);
27594 match(VARYING);
27595 }
27596 }
27597
27598 setState(3904);
27599 _errHandler.sync(this);
27600 _la = _input.LA(1);
27601 if (_la==EQ_) {
27602 {
27603 setState(3902);
27604 match(EQ_);
27605 setState(3903);
27606 literals();
27607 }
27608 }
27609
27610 setState(3907);
27611 _errHandler.sync(this);
27612 _la = _input.LA(1);
27613 if (_la==READONLY || _la==OUTPUT || _la==OUT) {
27614 {
27615 setState(3906);
27616 _la = _input.LA(1);
27617 if ( !(_la==READONLY || _la==OUTPUT || _la==OUT) ) {
27618 _errHandler.recoverInline(this);
27619 }
27620 else {
27621 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27622 _errHandler.reportMatch(this);
27623 consume();
27624 }
27625 }
27626 }
27627
27628 }
27629 }
27630 catch (RecognitionException re) {
27631 _localctx.exception = re;
27632 _errHandler.reportError(this, re);
27633 _errHandler.recover(this, re);
27634 }
27635 finally {
27636 exitRule();
27637 }
27638 return _localctx;
27639 }
27640
27641 public static class CreateOrAlterProcClauseContext extends ParserRuleContext {
27642 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27643 public ProcAsClauseContext procAsClause() {
27644 return getRuleContext(ProcAsClauseContext.class,0);
27645 }
27646 public WithCreateProcOptionContext withCreateProcOption() {
27647 return getRuleContext(WithCreateProcOptionContext.class,0);
27648 }
27649 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
27650 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
27651 public CreateOrAlterProcClauseContext(ParserRuleContext parent, int invokingState) {
27652 super(parent, invokingState);
27653 }
27654 @Override public int getRuleIndex() { return RULE_createOrAlterProcClause; }
27655 @Override
27656 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27657 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterProcClause(this);
27658 else return visitor.visitChildren(this);
27659 }
27660 }
27661
27662 public final CreateOrAlterProcClauseContext createOrAlterProcClause() throws RecognitionException {
27663 CreateOrAlterProcClauseContext _localctx = new CreateOrAlterProcClauseContext(_ctx, getState());
27664 enterRule(_localctx, 566, RULE_createOrAlterProcClause);
27665 int _la;
27666 try {
27667 enterOuterAlt(_localctx, 1);
27668 {
27669 setState(3910);
27670 _errHandler.sync(this);
27671 _la = _input.LA(1);
27672 if (_la==WITH) {
27673 {
27674 setState(3909);
27675 withCreateProcOption();
27676 }
27677 }
27678
27679 setState(3914);
27680 _errHandler.sync(this);
27681 _la = _input.LA(1);
27682 if (_la==FOR) {
27683 {
27684 setState(3912);
27685 match(FOR);
27686 setState(3913);
27687 match(REPLICATION);
27688 }
27689 }
27690
27691 setState(3916);
27692 match(AS);
27693 setState(3917);
27694 procAsClause();
27695 }
27696 }
27697 catch (RecognitionException re) {
27698 _localctx.exception = re;
27699 _errHandler.reportError(this, re);
27700 _errHandler.recover(this, re);
27701 }
27702 finally {
27703 exitRule();
27704 }
27705 return _localctx;
27706 }
27707
27708 public static class WithCreateProcOptionContext extends ParserRuleContext {
27709 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27710 public List<ProcOptionContext> procOption() {
27711 return getRuleContexts(ProcOptionContext.class);
27712 }
27713 public ProcOptionContext procOption(int i) {
27714 return getRuleContext(ProcOptionContext.class,i);
27715 }
27716 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27717 public TerminalNode COMMA_(int i) {
27718 return getToken(SQLServerStatementParser.COMMA_, i);
27719 }
27720 public WithCreateProcOptionContext(ParserRuleContext parent, int invokingState) {
27721 super(parent, invokingState);
27722 }
27723 @Override public int getRuleIndex() { return RULE_withCreateProcOption; }
27724 @Override
27725 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27726 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCreateProcOption(this);
27727 else return visitor.visitChildren(this);
27728 }
27729 }
27730
27731 public final WithCreateProcOptionContext withCreateProcOption() throws RecognitionException {
27732 WithCreateProcOptionContext _localctx = new WithCreateProcOptionContext(_ctx, getState());
27733 enterRule(_localctx, 568, RULE_withCreateProcOption);
27734 int _la;
27735 try {
27736 enterOuterAlt(_localctx, 1);
27737 {
27738 setState(3919);
27739 match(WITH);
27740 setState(3928);
27741 _errHandler.sync(this);
27742 _la = _input.LA(1);
27743 if (((((_la - 318)) & ~0x3f) == 0 && ((1L << (_la - 318)) & ((1L << (EXECUTE - 318)) | (1L << (EXEC - 318)) | (1L << (ENCRYPTION - 318)))) != 0) || ((((_la - 489)) & ~0x3f) == 0 && ((1L << (_la - 489)) & ((1L << (RECOMPILE - 489)) | (1L << (SCHEMABINDING - 489)) | (1L << (NATIVE_COMPILATION - 489)))) != 0)) {
27744 {
27745 setState(3920);
27746 procOption();
27747 setState(3925);
27748 _errHandler.sync(this);
27749 _la = _input.LA(1);
27750 while (_la==COMMA_) {
27751 {
27752 {
27753 setState(3921);
27754 match(COMMA_);
27755 setState(3922);
27756 procOption();
27757 }
27758 }
27759 setState(3927);
27760 _errHandler.sync(this);
27761 _la = _input.LA(1);
27762 }
27763 }
27764 }
27765
27766 }
27767 }
27768 catch (RecognitionException re) {
27769 _localctx.exception = re;
27770 _errHandler.reportError(this, re);
27771 _errHandler.recover(this, re);
27772 }
27773 finally {
27774 exitRule();
27775 }
27776 return _localctx;
27777 }
27778
27779 public static class ProcOptionContext extends ParserRuleContext {
27780 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
27781 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
27782 public ExecuteAsClauseContext executeAsClause() {
27783 return getRuleContext(ExecuteAsClauseContext.class,0);
27784 }
27785 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
27786 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
27787 public ProcOptionContext(ParserRuleContext parent, int invokingState) {
27788 super(parent, invokingState);
27789 }
27790 @Override public int getRuleIndex() { return RULE_procOption; }
27791 @Override
27792 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27793 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcOption(this);
27794 else return visitor.visitChildren(this);
27795 }
27796 }
27797
27798 public final ProcOptionContext procOption() throws RecognitionException {
27799 ProcOptionContext _localctx = new ProcOptionContext(_ctx, getState());
27800 enterRule(_localctx, 570, RULE_procOption);
27801 try {
27802 setState(3935);
27803 _errHandler.sync(this);
27804 switch (_input.LA(1)) {
27805 case ENCRYPTION:
27806 enterOuterAlt(_localctx, 1);
27807 {
27808 setState(3930);
27809 match(ENCRYPTION);
27810 }
27811 break;
27812 case RECOMPILE:
27813 enterOuterAlt(_localctx, 2);
27814 {
27815 setState(3931);
27816 match(RECOMPILE);
27817 }
27818 break;
27819 case EXECUTE:
27820 case EXEC:
27821 enterOuterAlt(_localctx, 3);
27822 {
27823 setState(3932);
27824 executeAsClause();
27825 }
27826 break;
27827 case NATIVE_COMPILATION:
27828 enterOuterAlt(_localctx, 4);
27829 {
27830 setState(3933);
27831 match(NATIVE_COMPILATION);
27832 }
27833 break;
27834 case SCHEMABINDING:
27835 enterOuterAlt(_localctx, 5);
27836 {
27837 setState(3934);
27838 match(SCHEMABINDING);
27839 }
27840 break;
27841 default:
27842 throw new NoViableAltException(this);
27843 }
27844 }
27845 catch (RecognitionException re) {
27846 _localctx.exception = re;
27847 _errHandler.reportError(this, re);
27848 _errHandler.recover(this, re);
27849 }
27850 finally {
27851 exitRule();
27852 }
27853 return _localctx;
27854 }
27855
27856 public static class ProcAsClauseContext extends ParserRuleContext {
27857 public CompoundStatementContext compoundStatement() {
27858 return getRuleContext(CompoundStatementContext.class,0);
27859 }
27860 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
27861 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
27862 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
27863 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
27864 public NameContext name() {
27865 return getRuleContext(NameContext.class,0);
27866 }
27867 public List<OwnerContext> owner() {
27868 return getRuleContexts(OwnerContext.class);
27869 }
27870 public OwnerContext owner(int i) {
27871 return getRuleContext(OwnerContext.class,i);
27872 }
27873 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
27874 public TerminalNode DOT_(int i) {
27875 return getToken(SQLServerStatementParser.DOT_, i);
27876 }
27877 public TerminalNode ATOMIC() { return getToken(SQLServerStatementParser.ATOMIC, 0); }
27878 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27879 public List<ProcSetOptionContext> procSetOption() {
27880 return getRuleContexts(ProcSetOptionContext.class);
27881 }
27882 public ProcSetOptionContext procSetOption(int i) {
27883 return getRuleContext(ProcSetOptionContext.class,i);
27884 }
27885 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27886 public TerminalNode COMMA_(int i) {
27887 return getToken(SQLServerStatementParser.COMMA_, i);
27888 }
27889 public ProcAsClauseContext(ParserRuleContext parent, int invokingState) {
27890 super(parent, invokingState);
27891 }
27892 @Override public int getRuleIndex() { return RULE_procAsClause; }
27893 @Override
27894 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27895 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcAsClause(this);
27896 else return visitor.visitChildren(this);
27897 }
27898 }
27899
27900 public final ProcAsClauseContext procAsClause() throws RecognitionException {
27901 ProcAsClauseContext _localctx = new ProcAsClauseContext(_ctx, getState());
27902 enterRule(_localctx, 572, RULE_procAsClause);
27903 int _la;
27904 try {
27905 setState(3972);
27906 _errHandler.sync(this);
27907 switch ( getInterpreter().adaptivePredict(_input,416,_ctx) ) {
27908 case 1:
27909 enterOuterAlt(_localctx, 1);
27910 {
27911 setState(3938);
27912 _errHandler.sync(this);
27913 _la = _input.LA(1);
27914 if (_la==BEGIN) {
27915 {
27916 setState(3937);
27917 match(BEGIN);
27918 }
27919 }
27920
27921 setState(3940);
27922 compoundStatement();
27923 setState(3942);
27924 _errHandler.sync(this);
27925 _la = _input.LA(1);
27926 if (_la==END) {
27927 {
27928 setState(3941);
27929 match(END);
27930 }
27931 }
27932
27933 }
27934 break;
27935 case 2:
27936 enterOuterAlt(_localctx, 2);
27937 {
27938 setState(3944);
27939 match(EXTERNAL);
27940 setState(3945);
27941 match(NAME);
27942 setState(3949);
27943 _errHandler.sync(this);
27944 switch ( getInterpreter().adaptivePredict(_input,412,_ctx) ) {
27945 case 1:
27946 {
27947 setState(3946);
27948 owner();
27949 setState(3947);
27950 match(DOT_);
27951 }
27952 break;
27953 }
27954 setState(3954);
27955 _errHandler.sync(this);
27956 switch ( getInterpreter().adaptivePredict(_input,413,_ctx) ) {
27957 case 1:
27958 {
27959 setState(3951);
27960 owner();
27961 setState(3952);
27962 match(DOT_);
27963 }
27964 break;
27965 }
27966 setState(3956);
27967 name();
27968 }
27969 break;
27970 case 3:
27971 enterOuterAlt(_localctx, 3);
27972 {
27973 setState(3957);
27974 match(BEGIN);
27975 setState(3958);
27976 match(ATOMIC);
27977 setState(3959);
27978 match(WITH);
27979 setState(3960);
27980 procSetOption();
27981 setState(3965);
27982 _errHandler.sync(this);
27983 _la = _input.LA(1);
27984 while (_la==COMMA_) {
27985 {
27986 {
27987 setState(3961);
27988 match(COMMA_);
27989 setState(3962);
27990 procSetOption();
27991 }
27992 }
27993 setState(3967);
27994 _errHandler.sync(this);
27995 _la = _input.LA(1);
27996 }
27997 setState(3968);
27998 compoundStatement();
27999 setState(3970);
28000 _errHandler.sync(this);
28001 _la = _input.LA(1);
28002 if (_la==END) {
28003 {
28004 setState(3969);
28005 match(END);
28006 }
28007 }
28008
28009 }
28010 break;
28011 }
28012 }
28013 catch (RecognitionException re) {
28014 _localctx.exception = re;
28015 _errHandler.reportError(this, re);
28016 _errHandler.recover(this, re);
28017 }
28018 finally {
28019 exitRule();
28020 }
28021 return _localctx;
28022 }
28023
28024 public static class ProcSetOptionContext extends ParserRuleContext {
28025 public TerminalNode LANGUAGE() { return getToken(SQLServerStatementParser.LANGUAGE, 0); }
28026 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
28027 public StringLiteralsContext stringLiterals() {
28028 return getRuleContext(StringLiteralsContext.class,0);
28029 }
28030 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
28031 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
28032 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
28033 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
28034 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
28035 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
28036 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
28037 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
28038 public NumberLiteralsContext numberLiterals() {
28039 return getRuleContext(NumberLiteralsContext.class,0);
28040 }
28041 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
28042 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
28043 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
28044 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
28045 public ProcSetOptionContext(ParserRuleContext parent, int invokingState) {
28046 super(parent, invokingState);
28047 }
28048 @Override public int getRuleIndex() { return RULE_procSetOption; }
28049 @Override
28050 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28051 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcSetOption(this);
28052 else return visitor.visitChildren(this);
28053 }
28054 }
28055
28056 public final ProcSetOptionContext procSetOption() throws RecognitionException {
28057 ProcSetOptionContext _localctx = new ProcSetOptionContext(_ctx, getState());
28058 enterRule(_localctx, 574, RULE_procSetOption);
28059 int _la;
28060 try {
28061 setState(3996);
28062 _errHandler.sync(this);
28063 switch (_input.LA(1)) {
28064 case LANGUAGE:
28065 enterOuterAlt(_localctx, 1);
28066 {
28067 setState(3974);
28068 match(LANGUAGE);
28069 setState(3975);
28070 match(EQ_);
28071 setState(3976);
28072 stringLiterals();
28073 }
28074 break;
28075 case TRANSACTION:
28076 enterOuterAlt(_localctx, 2);
28077 {
28078 setState(3977);
28079 match(TRANSACTION);
28080 setState(3978);
28081 match(ISOLATION);
28082 setState(3979);
28083 match(LEVEL);
28084 setState(3980);
28085 match(EQ_);
28086 setState(3985);
28087 _errHandler.sync(this);
28088 switch (_input.LA(1)) {
28089 case SNAPSHOT:
28090 {
28091 setState(3981);
28092 match(SNAPSHOT);
28093 }
28094 break;
28095 case REPEATABLE:
28096 {
28097 setState(3982);
28098 match(REPEATABLE);
28099 setState(3983);
28100 match(READ);
28101 }
28102 break;
28103 case SERIALIZABLE:
28104 {
28105 setState(3984);
28106 match(SERIALIZABLE);
28107 }
28108 break;
28109 default:
28110 throw new NoViableAltException(this);
28111 }
28112 }
28113 break;
28114 case DATEFIRST:
28115 enterOuterAlt(_localctx, 3);
28116 {
28117 setState(3987);
28118 match(DATEFIRST);
28119 setState(3988);
28120 match(EQ_);
28121 setState(3989);
28122 numberLiterals();
28123 }
28124 break;
28125 case DATEFORMAT:
28126 enterOuterAlt(_localctx, 4);
28127 {
28128 setState(3990);
28129 match(DATEFORMAT);
28130 setState(3991);
28131 match(EQ_);
28132 setState(3992);
28133 stringLiterals();
28134 }
28135 break;
28136 case DELAYED_DURABILITY:
28137 enterOuterAlt(_localctx, 5);
28138 {
28139 setState(3993);
28140 match(DELAYED_DURABILITY);
28141 setState(3994);
28142 match(EQ_);
28143 setState(3995);
28144 _la = _input.LA(1);
28145 if ( !(_la==ON || _la==OFF) ) {
28146 _errHandler.recoverInline(this);
28147 }
28148 else {
28149 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28150 _errHandler.reportMatch(this);
28151 consume();
28152 }
28153 }
28154 break;
28155 default:
28156 throw new NoViableAltException(this);
28157 }
28158 }
28159 catch (RecognitionException re) {
28160 _localctx.exception = re;
28161 _errHandler.reportError(this, re);
28162 _errHandler.recover(this, re);
28163 }
28164 finally {
28165 exitRule();
28166 }
28167 return _localctx;
28168 }
28169
28170 public static class CreateOrAlterViewClauseContext extends ParserRuleContext {
28171 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
28172 public SelectContext select() {
28173 return getRuleContext(SelectContext.class,0);
28174 }
28175 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
28176 public TerminalNode WITH(int i) {
28177 return getToken(SQLServerStatementParser.WITH, i);
28178 }
28179 public List<ViewAttributeContext> viewAttribute() {
28180 return getRuleContexts(ViewAttributeContext.class);
28181 }
28182 public ViewAttributeContext viewAttribute(int i) {
28183 return getRuleContext(ViewAttributeContext.class,i);
28184 }
28185 public WithCommonTableExprContext withCommonTableExpr() {
28186 return getRuleContext(WithCommonTableExprContext.class,0);
28187 }
28188 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
28189 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
28190 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28191 public TerminalNode COMMA_(int i) {
28192 return getToken(SQLServerStatementParser.COMMA_, i);
28193 }
28194 public CreateOrAlterViewClauseContext(ParserRuleContext parent, int invokingState) {
28195 super(parent, invokingState);
28196 }
28197 @Override public int getRuleIndex() { return RULE_createOrAlterViewClause; }
28198 @Override
28199 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28200 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterViewClause(this);
28201 else return visitor.visitChildren(this);
28202 }
28203 }
28204
28205 public final CreateOrAlterViewClauseContext createOrAlterViewClause() throws RecognitionException {
28206 CreateOrAlterViewClauseContext _localctx = new CreateOrAlterViewClauseContext(_ctx, getState());
28207 enterRule(_localctx, 576, RULE_createOrAlterViewClause);
28208 int _la;
28209 try {
28210 enterOuterAlt(_localctx, 1);
28211 {
28212 setState(4007);
28213 _errHandler.sync(this);
28214 _la = _input.LA(1);
28215 if (_la==WITH) {
28216 {
28217 setState(3998);
28218 match(WITH);
28219 setState(3999);
28220 viewAttribute();
28221 setState(4004);
28222 _errHandler.sync(this);
28223 _la = _input.LA(1);
28224 while (_la==COMMA_) {
28225 {
28226 {
28227 setState(4000);
28228 match(COMMA_);
28229 setState(4001);
28230 viewAttribute();
28231 }
28232 }
28233 setState(4006);
28234 _errHandler.sync(this);
28235 _la = _input.LA(1);
28236 }
28237 }
28238 }
28239
28240 setState(4009);
28241 match(AS);
28242 setState(4011);
28243 _errHandler.sync(this);
28244 switch ( getInterpreter().adaptivePredict(_input,421,_ctx) ) {
28245 case 1:
28246 {
28247 setState(4010);
28248 withCommonTableExpr();
28249 }
28250 break;
28251 }
28252 setState(4013);
28253 select();
28254 setState(4017);
28255 _errHandler.sync(this);
28256 _la = _input.LA(1);
28257 if (_la==WITH) {
28258 {
28259 setState(4014);
28260 match(WITH);
28261 setState(4015);
28262 match(CHECK);
28263 setState(4016);
28264 match(OPTION);
28265 }
28266 }
28267
28268 }
28269 }
28270 catch (RecognitionException re) {
28271 _localctx.exception = re;
28272 _errHandler.reportError(this, re);
28273 _errHandler.recover(this, re);
28274 }
28275 finally {
28276 exitRule();
28277 }
28278 return _localctx;
28279 }
28280
28281 public static class ViewAttributeContext extends ParserRuleContext {
28282 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
28283 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
28284 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
28285 public ViewAttributeContext(ParserRuleContext parent, int invokingState) {
28286 super(parent, invokingState);
28287 }
28288 @Override public int getRuleIndex() { return RULE_viewAttribute; }
28289 @Override
28290 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28291 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewAttribute(this);
28292 else return visitor.visitChildren(this);
28293 }
28294 }
28295
28296 public final ViewAttributeContext viewAttribute() throws RecognitionException {
28297 ViewAttributeContext _localctx = new ViewAttributeContext(_ctx, getState());
28298 enterRule(_localctx, 578, RULE_viewAttribute);
28299 int _la;
28300 try {
28301 enterOuterAlt(_localctx, 1);
28302 {
28303 setState(4019);
28304 _la = _input.LA(1);
28305 if ( !(_la==ENCRYPTION || _la==SCHEMABINDING || _la==VIEW_METADATA) ) {
28306 _errHandler.recoverInline(this);
28307 }
28308 else {
28309 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28310 _errHandler.reportMatch(this);
28311 consume();
28312 }
28313 }
28314 }
28315 catch (RecognitionException re) {
28316 _localctx.exception = re;
28317 _errHandler.reportError(this, re);
28318 _errHandler.recover(this, re);
28319 }
28320 finally {
28321 exitRule();
28322 }
28323 return _localctx;
28324 }
28325
28326 public static class WithCommonTableExprContext extends ParserRuleContext {
28327 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28328 public List<CommonTableExprContext> commonTableExpr() {
28329 return getRuleContexts(CommonTableExprContext.class);
28330 }
28331 public CommonTableExprContext commonTableExpr(int i) {
28332 return getRuleContext(CommonTableExprContext.class,i);
28333 }
28334 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28335 public TerminalNode COMMA_(int i) {
28336 return getToken(SQLServerStatementParser.COMMA_, i);
28337 }
28338 public WithCommonTableExprContext(ParserRuleContext parent, int invokingState) {
28339 super(parent, invokingState);
28340 }
28341 @Override public int getRuleIndex() { return RULE_withCommonTableExpr; }
28342 @Override
28343 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28344 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCommonTableExpr(this);
28345 else return visitor.visitChildren(this);
28346 }
28347 }
28348
28349 public final WithCommonTableExprContext withCommonTableExpr() throws RecognitionException {
28350 WithCommonTableExprContext _localctx = new WithCommonTableExprContext(_ctx, getState());
28351 enterRule(_localctx, 580, RULE_withCommonTableExpr);
28352 int _la;
28353 try {
28354 enterOuterAlt(_localctx, 1);
28355 {
28356 setState(4021);
28357 match(WITH);
28358 setState(4022);
28359 commonTableExpr();
28360 setState(4027);
28361 _errHandler.sync(this);
28362 _la = _input.LA(1);
28363 while (_la==COMMA_) {
28364 {
28365 {
28366 setState(4023);
28367 match(COMMA_);
28368 setState(4024);
28369 commonTableExpr();
28370 }
28371 }
28372 setState(4029);
28373 _errHandler.sync(this);
28374 _la = _input.LA(1);
28375 }
28376 }
28377 }
28378 catch (RecognitionException re) {
28379 _localctx.exception = re;
28380 _errHandler.reportError(this, re);
28381 _errHandler.recover(this, re);
28382 }
28383 finally {
28384 exitRule();
28385 }
28386 return _localctx;
28387 }
28388
28389 public static class CommonTableExprContext extends ParserRuleContext {
28390 public NameContext name() {
28391 return getRuleContext(NameContext.class,0);
28392 }
28393 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
28394 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
28395 public TerminalNode LP_(int i) {
28396 return getToken(SQLServerStatementParser.LP_, i);
28397 }
28398 public SelectContext select() {
28399 return getRuleContext(SelectContext.class,0);
28400 }
28401 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
28402 public TerminalNode RP_(int i) {
28403 return getToken(SQLServerStatementParser.RP_, i);
28404 }
28405 public List<ColumnNameContext> columnName() {
28406 return getRuleContexts(ColumnNameContext.class);
28407 }
28408 public ColumnNameContext columnName(int i) {
28409 return getRuleContext(ColumnNameContext.class,i);
28410 }
28411 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28412 public TerminalNode COMMA_(int i) {
28413 return getToken(SQLServerStatementParser.COMMA_, i);
28414 }
28415 public CommonTableExprContext(ParserRuleContext parent, int invokingState) {
28416 super(parent, invokingState);
28417 }
28418 @Override public int getRuleIndex() { return RULE_commonTableExpr; }
28419 @Override
28420 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28421 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonTableExpr(this);
28422 else return visitor.visitChildren(this);
28423 }
28424 }
28425
28426 public final CommonTableExprContext commonTableExpr() throws RecognitionException {
28427 CommonTableExprContext _localctx = new CommonTableExprContext(_ctx, getState());
28428 enterRule(_localctx, 582, RULE_commonTableExpr);
28429 int _la;
28430 try {
28431 enterOuterAlt(_localctx, 1);
28432 {
28433 setState(4030);
28434 name();
28435 setState(4042);
28436 _errHandler.sync(this);
28437 _la = _input.LA(1);
28438 if (_la==LP_) {
28439 {
28440 setState(4031);
28441 match(LP_);
28442 setState(4032);
28443 columnName();
28444 setState(4037);
28445 _errHandler.sync(this);
28446 _la = _input.LA(1);
28447 while (_la==COMMA_) {
28448 {
28449 {
28450 setState(4033);
28451 match(COMMA_);
28452 setState(4034);
28453 columnName();
28454 }
28455 }
28456 setState(4039);
28457 _errHandler.sync(this);
28458 _la = _input.LA(1);
28459 }
28460 setState(4040);
28461 match(RP_);
28462 }
28463 }
28464
28465 setState(4044);
28466 match(AS);
28467 setState(4045);
28468 match(LP_);
28469 setState(4046);
28470 select();
28471 setState(4047);
28472 match(RP_);
28473 }
28474 }
28475 catch (RecognitionException re) {
28476 _localctx.exception = re;
28477 _errHandler.reportError(this, re);
28478 _errHandler.recover(this, re);
28479 }
28480 finally {
28481 exitRule();
28482 }
28483 return _localctx;
28484 }
28485
28486 public static class CreateTriggerClauseContext extends ParserRuleContext {
28487 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
28488 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
28489 public TerminalNode FOR(int i) {
28490 return getToken(SQLServerStatementParser.FOR, i);
28491 }
28492 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
28493 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
28494 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
28495 public CompoundStatementContext compoundStatement() {
28496 return getRuleContext(CompoundStatementContext.class,0);
28497 }
28498 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
28499 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
28500 public MethodSpecifierContext methodSpecifier() {
28501 return getRuleContext(MethodSpecifierContext.class,0);
28502 }
28503 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
28504 public TerminalNode WITH(int i) {
28505 return getToken(SQLServerStatementParser.WITH, i);
28506 }
28507 public List<DmlTriggerOptionContext> dmlTriggerOption() {
28508 return getRuleContexts(DmlTriggerOptionContext.class);
28509 }
28510 public DmlTriggerOptionContext dmlTriggerOption(int i) {
28511 return getRuleContext(DmlTriggerOptionContext.class,i);
28512 }
28513 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28514 public TerminalNode COMMA_(int i) {
28515 return getToken(SQLServerStatementParser.COMMA_, i);
28516 }
28517 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
28518 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
28519 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
28520 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
28521 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
28522 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
28523 public CreateTriggerClauseContext(ParserRuleContext parent, int invokingState) {
28524 super(parent, invokingState);
28525 }
28526 @Override public int getRuleIndex() { return RULE_createTriggerClause; }
28527 @Override
28528 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28529 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTriggerClause(this);
28530 else return visitor.visitChildren(this);
28531 }
28532 }
28533
28534 public final CreateTriggerClauseContext createTriggerClause() throws RecognitionException {
28535 CreateTriggerClauseContext _localctx = new CreateTriggerClauseContext(_ctx, getState());
28536 enterRule(_localctx, 584, RULE_createTriggerClause);
28537 int _la;
28538 try {
28539 enterOuterAlt(_localctx, 1);
28540 {
28541 setState(4054);
28542 _errHandler.sync(this);
28543 _la = _input.LA(1);
28544 if (_la==WITH) {
28545 {
28546 setState(4049);
28547 match(WITH);
28548 setState(4050);
28549 dmlTriggerOption();
28550 setState(4051);
28551 match(COMMA_);
28552 setState(4052);
28553 dmlTriggerOption();
28554 }
28555 }
28556
28557 setState(4060);
28558 _errHandler.sync(this);
28559 switch (_input.LA(1)) {
28560 case FOR:
28561 {
28562 setState(4056);
28563 match(FOR);
28564 }
28565 break;
28566 case AFTER:
28567 {
28568 setState(4057);
28569 match(AFTER);
28570 }
28571 break;
28572 case INSTEAD:
28573 {
28574 setState(4058);
28575 match(INSTEAD);
28576 setState(4059);
28577 match(OF);
28578 }
28579 break;
28580 default:
28581 throw new NoViableAltException(this);
28582 }
28583 setState(4063);
28584 _errHandler.sync(this);
28585 _la = _input.LA(1);
28586 if (_la==INSERT) {
28587 {
28588 setState(4062);
28589 match(INSERT);
28590 }
28591 }
28592
28593 setState(4066);
28594 _errHandler.sync(this);
28595 switch ( getInterpreter().adaptivePredict(_input,429,_ctx) ) {
28596 case 1:
28597 {
28598 setState(4065);
28599 match(COMMA_);
28600 }
28601 break;
28602 }
28603 setState(4069);
28604 _errHandler.sync(this);
28605 _la = _input.LA(1);
28606 if (_la==UPDATE) {
28607 {
28608 setState(4068);
28609 match(UPDATE);
28610 }
28611 }
28612
28613 setState(4072);
28614 _errHandler.sync(this);
28615 switch ( getInterpreter().adaptivePredict(_input,431,_ctx) ) {
28616 case 1:
28617 {
28618 setState(4071);
28619 match(COMMA_);
28620 }
28621 break;
28622 }
28623 setState(4075);
28624 _errHandler.sync(this);
28625 _la = _input.LA(1);
28626 if (_la==DELETE) {
28627 {
28628 setState(4074);
28629 match(DELETE);
28630 }
28631 }
28632
28633 setState(4078);
28634 _errHandler.sync(this);
28635 _la = _input.LA(1);
28636 if (_la==COMMA_) {
28637 {
28638 setState(4077);
28639 match(COMMA_);
28640 }
28641 }
28642
28643 setState(4082);
28644 _errHandler.sync(this);
28645 _la = _input.LA(1);
28646 if (_la==WITH) {
28647 {
28648 setState(4080);
28649 match(WITH);
28650 setState(4081);
28651 match(APPEND);
28652 }
28653 }
28654
28655 setState(4087);
28656 _errHandler.sync(this);
28657 _la = _input.LA(1);
28658 if (_la==NOT) {
28659 {
28660 setState(4084);
28661 match(NOT);
28662 setState(4085);
28663 match(FOR);
28664 setState(4086);
28665 match(REPLICATION);
28666 }
28667 }
28668
28669 setState(4089);
28670 match(AS);
28671 setState(4094);
28672 _errHandler.sync(this);
28673 switch (_input.LA(1)) {
28674 case EOF:
28675 case SEMI_:
28676 case SELECT:
28677 case INSERT:
28678 case UPDATE:
28679 case DELETE:
28680 case CREATE:
28681 case ALTER:
28682 case DROP:
28683 case TRUNCATE:
28684 case SET:
28685 case WITH:
28686 case DECLARE:
28687 {
28688 setState(4090);
28689 compoundStatement();
28690 }
28691 break;
28692 case EXTERNAL:
28693 {
28694 setState(4091);
28695 match(EXTERNAL);
28696 setState(4092);
28697 match(NAME);
28698 setState(4093);
28699 methodSpecifier();
28700 }
28701 break;
28702 default:
28703 throw new NoViableAltException(this);
28704 }
28705 }
28706 }
28707 catch (RecognitionException re) {
28708 _localctx.exception = re;
28709 _errHandler.reportError(this, re);
28710 _errHandler.recover(this, re);
28711 }
28712 finally {
28713 exitRule();
28714 }
28715 return _localctx;
28716 }
28717
28718 public static class DmlTriggerOptionContext extends ParserRuleContext {
28719 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
28720 public ExecuteAsClauseContext executeAsClause() {
28721 return getRuleContext(ExecuteAsClauseContext.class,0);
28722 }
28723 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
28724 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
28725 public DmlTriggerOptionContext(ParserRuleContext parent, int invokingState) {
28726 super(parent, invokingState);
28727 }
28728 @Override public int getRuleIndex() { return RULE_dmlTriggerOption; }
28729 @Override
28730 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28731 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDmlTriggerOption(this);
28732 else return visitor.visitChildren(this);
28733 }
28734 }
28735
28736 public final DmlTriggerOptionContext dmlTriggerOption() throws RecognitionException {
28737 DmlTriggerOptionContext _localctx = new DmlTriggerOptionContext(_ctx, getState());
28738 enterRule(_localctx, 586, RULE_dmlTriggerOption);
28739 try {
28740 setState(4101);
28741 _errHandler.sync(this);
28742 switch (_input.LA(1)) {
28743 case ENCRYPTION:
28744 enterOuterAlt(_localctx, 1);
28745 {
28746 setState(4096);
28747 match(ENCRYPTION);
28748 }
28749 break;
28750 case EXECUTE:
28751 case EXEC:
28752 enterOuterAlt(_localctx, 2);
28753 {
28754 setState(4097);
28755 executeAsClause();
28756 }
28757 break;
28758 case NATIVE_COMPILATION:
28759 enterOuterAlt(_localctx, 3);
28760 {
28761 setState(4098);
28762 match(NATIVE_COMPILATION);
28763 }
28764 break;
28765 case SCHEMABINDING:
28766 enterOuterAlt(_localctx, 4);
28767 {
28768 setState(4099);
28769 match(SCHEMABINDING);
28770 }
28771 break;
28772 case COMMA_:
28773 case FOR:
28774 case AFTER:
28775 case INSTEAD:
28776 enterOuterAlt(_localctx, 5);
28777 {
28778 }
28779 break;
28780 default:
28781 throw new NoViableAltException(this);
28782 }
28783 }
28784 catch (RecognitionException re) {
28785 _localctx.exception = re;
28786 _errHandler.reportError(this, re);
28787 _errHandler.recover(this, re);
28788 }
28789 finally {
28790 exitRule();
28791 }
28792 return _localctx;
28793 }
28794
28795 public static class MethodSpecifierContext extends ParserRuleContext {
28796 public List<NameContext> name() {
28797 return getRuleContexts(NameContext.class);
28798 }
28799 public NameContext name(int i) {
28800 return getRuleContext(NameContext.class,i);
28801 }
28802 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
28803 public TerminalNode DOT_(int i) {
28804 return getToken(SQLServerStatementParser.DOT_, i);
28805 }
28806 public MethodSpecifierContext(ParserRuleContext parent, int invokingState) {
28807 super(parent, invokingState);
28808 }
28809 @Override public int getRuleIndex() { return RULE_methodSpecifier; }
28810 @Override
28811 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28812 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMethodSpecifier(this);
28813 else return visitor.visitChildren(this);
28814 }
28815 }
28816
28817 public final MethodSpecifierContext methodSpecifier() throws RecognitionException {
28818 MethodSpecifierContext _localctx = new MethodSpecifierContext(_ctx, getState());
28819 enterRule(_localctx, 588, RULE_methodSpecifier);
28820 try {
28821 enterOuterAlt(_localctx, 1);
28822 {
28823 setState(4103);
28824 name();
28825 setState(4104);
28826 match(DOT_);
28827 setState(4105);
28828 name();
28829 setState(4106);
28830 match(DOT_);
28831 setState(4107);
28832 name();
28833 }
28834 }
28835 catch (RecognitionException re) {
28836 _localctx.exception = re;
28837 _errHandler.reportError(this, re);
28838 _errHandler.recover(this, re);
28839 }
28840 finally {
28841 exitRule();
28842 }
28843 return _localctx;
28844 }
28845
28846 public static class TriggerTargetContext extends ParserRuleContext {
28847 public TableNameContext tableName() {
28848 return getRuleContext(TableNameContext.class,0);
28849 }
28850 public ViewNameContext viewName() {
28851 return getRuleContext(ViewNameContext.class,0);
28852 }
28853 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
28854 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
28855 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
28856 public TriggerTargetContext(ParserRuleContext parent, int invokingState) {
28857 super(parent, invokingState);
28858 }
28859 @Override public int getRuleIndex() { return RULE_triggerTarget; }
28860 @Override
28861 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28862 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerTarget(this);
28863 else return visitor.visitChildren(this);
28864 }
28865 }
28866
28867 public final TriggerTargetContext triggerTarget() throws RecognitionException {
28868 TriggerTargetContext _localctx = new TriggerTargetContext(_ctx, getState());
28869 enterRule(_localctx, 590, RULE_triggerTarget);
28870 try {
28871 setState(4114);
28872 _errHandler.sync(this);
28873 switch ( getInterpreter().adaptivePredict(_input,438,_ctx) ) {
28874 case 1:
28875 enterOuterAlt(_localctx, 1);
28876 {
28877 setState(4109);
28878 tableName();
28879 }
28880 break;
28881 case 2:
28882 enterOuterAlt(_localctx, 2);
28883 {
28884 setState(4110);
28885 viewName();
28886 }
28887 break;
28888 case 3:
28889 enterOuterAlt(_localctx, 3);
28890 {
28891 setState(4111);
28892 match(ALL);
28893 setState(4112);
28894 match(SERVER);
28895 }
28896 break;
28897 case 4:
28898 enterOuterAlt(_localctx, 4);
28899 {
28900 setState(4113);
28901 match(DATABASE);
28902 }
28903 break;
28904 }
28905 }
28906 catch (RecognitionException re) {
28907 _localctx.exception = re;
28908 _errHandler.reportError(this, re);
28909 _errHandler.recover(this, re);
28910 }
28911 finally {
28912 exitRule();
28913 }
28914 return _localctx;
28915 }
28916
28917 public static class CreateOrAlterSequenceClauseContext extends ParserRuleContext {
28918 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
28919 public DataTypeContext dataType() {
28920 return getRuleContext(DataTypeContext.class,0);
28921 }
28922 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28923 public ExprContext expr() {
28924 return getRuleContext(ExprContext.class,0);
28925 }
28926 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
28927 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
28928 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
28929 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
28930 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
28931 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
28932 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
28933 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
28934 public TerminalNode CYCLE() { return getToken(SQLServerStatementParser.CYCLE, 0); }
28935 public CreateOrAlterSequenceClauseContext(ParserRuleContext parent, int invokingState) {
28936 super(parent, invokingState);
28937 }
28938 @Override public int getRuleIndex() { return RULE_createOrAlterSequenceClause; }
28939 @Override
28940 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28941 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterSequenceClause(this);
28942 else return visitor.visitChildren(this);
28943 }
28944 }
28945
28946 public final CreateOrAlterSequenceClauseContext createOrAlterSequenceClause() throws RecognitionException {
28947 CreateOrAlterSequenceClauseContext _localctx = new CreateOrAlterSequenceClauseContext(_ctx, getState());
28948 enterRule(_localctx, 592, RULE_createOrAlterSequenceClause);
28949 int _la;
28950 try {
28951 setState(4144);
28952 _errHandler.sync(this);
28953 switch ( getInterpreter().adaptivePredict(_input,442,_ctx) ) {
28954 case 1:
28955 enterOuterAlt(_localctx, 1);
28956 {
28957 setState(4116);
28958 match(AS);
28959 setState(4117);
28960 dataType();
28961 }
28962 break;
28963 case 2:
28964 enterOuterAlt(_localctx, 2);
28965 {
28966 setState(4118);
28967 _la = _input.LA(1);
28968 if ( !(_la==START || _la==RESTART) ) {
28969 _errHandler.recoverInline(this);
28970 }
28971 else {
28972 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28973 _errHandler.reportMatch(this);
28974 consume();
28975 }
28976 setState(4119);
28977 match(WITH);
28978 setState(4120);
28979 expr(0);
28980 }
28981 break;
28982 case 3:
28983 enterOuterAlt(_localctx, 3);
28984 {
28985 setState(4121);
28986 match(INCREMENT);
28987 setState(4122);
28988 match(BY);
28989 setState(4123);
28990 expr(0);
28991 }
28992 break;
28993 case 4:
28994 enterOuterAlt(_localctx, 4);
28995 {
28996 setState(4124);
28997 match(MINVALUE);
28998 setState(4126);
28999 _errHandler.sync(this);
29000 switch ( getInterpreter().adaptivePredict(_input,439,_ctx) ) {
29001 case 1:
29002 {
29003 setState(4125);
29004 expr(0);
29005 }
29006 break;
29007 }
29008 }
29009 break;
29010 case 5:
29011 enterOuterAlt(_localctx, 5);
29012 {
29013 setState(4128);
29014 match(NO);
29015 setState(4129);
29016 match(MINVALUE);
29017 }
29018 break;
29019 case 6:
29020 enterOuterAlt(_localctx, 6);
29021 {
29022 setState(4130);
29023 match(MAXVALUE);
29024 setState(4132);
29025 _errHandler.sync(this);
29026 switch ( getInterpreter().adaptivePredict(_input,440,_ctx) ) {
29027 case 1:
29028 {
29029 setState(4131);
29030 expr(0);
29031 }
29032 break;
29033 }
29034 }
29035 break;
29036 case 7:
29037 enterOuterAlt(_localctx, 7);
29038 {
29039 setState(4134);
29040 match(NO);
29041 setState(4135);
29042 match(MAXVALUE);
29043 }
29044 break;
29045 case 8:
29046 enterOuterAlt(_localctx, 8);
29047 {
29048 setState(4136);
29049 match(CACHE);
29050 setState(4137);
29051 expr(0);
29052 }
29053 break;
29054 case 9:
29055 enterOuterAlt(_localctx, 9);
29056 {
29057 setState(4138);
29058 match(NO);
29059 setState(4139);
29060 match(CACHE);
29061 }
29062 break;
29063 case 10:
29064 enterOuterAlt(_localctx, 10);
29065 {
29066 setState(4141);
29067 _errHandler.sync(this);
29068 _la = _input.LA(1);
29069 if (_la==NO) {
29070 {
29071 setState(4140);
29072 match(NO);
29073 }
29074 }
29075
29076 setState(4143);
29077 match(CYCLE);
29078 }
29079 break;
29080 }
29081 }
29082 catch (RecognitionException re) {
29083 _localctx.exception = re;
29084 _errHandler.reportError(this, re);
29085 _errHandler.recover(this, re);
29086 }
29087 finally {
29088 exitRule();
29089 }
29090 return _localctx;
29091 }
29092
29093 public static class CreateIndexClauseContext extends ParserRuleContext {
29094 public TerminalNode INCLUDE() { return getToken(SQLServerStatementParser.INCLUDE, 0); }
29095 public ColumnNamesWithSortContext columnNamesWithSort() {
29096 return getRuleContext(ColumnNamesWithSortContext.class,0);
29097 }
29098 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
29099 public FilterPredicateContext filterPredicate() {
29100 return getRuleContext(FilterPredicateContext.class,0);
29101 }
29102 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
29103 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
29104 public TerminalNode LP_(int i) {
29105 return getToken(SQLServerStatementParser.LP_, i);
29106 }
29107 public List<RelationalIndexOptionContext> relationalIndexOption() {
29108 return getRuleContexts(RelationalIndexOptionContext.class);
29109 }
29110 public RelationalIndexOptionContext relationalIndexOption(int i) {
29111 return getRuleContext(RelationalIndexOptionContext.class,i);
29112 }
29113 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
29114 public TerminalNode RP_(int i) {
29115 return getToken(SQLServerStatementParser.RP_, i);
29116 }
29117 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
29118 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
29119 public SchemaNameContext schemaName() {
29120 return getRuleContext(SchemaNameContext.class,0);
29121 }
29122 public ColumnNameContext columnName() {
29123 return getRuleContext(ColumnNameContext.class,0);
29124 }
29125 public List<NameContext> name() {
29126 return getRuleContexts(NameContext.class);
29127 }
29128 public NameContext name(int i) {
29129 return getRuleContext(NameContext.class,i);
29130 }
29131 public StringLiteralsContext stringLiterals() {
29132 return getRuleContext(StringLiteralsContext.class,0);
29133 }
29134 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29135 public TerminalNode COMMA_(int i) {
29136 return getToken(SQLServerStatementParser.COMMA_, i);
29137 }
29138 public CreateIndexClauseContext(ParserRuleContext parent, int invokingState) {
29139 super(parent, invokingState);
29140 }
29141 @Override public int getRuleIndex() { return RULE_createIndexClause; }
29142 @Override
29143 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29144 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexClause(this);
29145 else return visitor.visitChildren(this);
29146 }
29147 }
29148
29149 public final CreateIndexClauseContext createIndexClause() throws RecognitionException {
29150 CreateIndexClauseContext _localctx = new CreateIndexClauseContext(_ctx, getState());
29151 enterRule(_localctx, 594, RULE_createIndexClause);
29152 int _la;
29153 try {
29154 enterOuterAlt(_localctx, 1);
29155 {
29156 setState(4148);
29157 _errHandler.sync(this);
29158 _la = _input.LA(1);
29159 if (_la==INCLUDE) {
29160 {
29161 setState(4146);
29162 match(INCLUDE);
29163 setState(4147);
29164 columnNamesWithSort();
29165 }
29166 }
29167
29168 setState(4152);
29169 _errHandler.sync(this);
29170 _la = _input.LA(1);
29171 if (_la==WHERE) {
29172 {
29173 setState(4150);
29174 match(WHERE);
29175 setState(4151);
29176 filterPredicate();
29177 }
29178 }
29179
29180 setState(4166);
29181 _errHandler.sync(this);
29182 _la = _input.LA(1);
29183 if (_la==WITH) {
29184 {
29185 setState(4154);
29186 match(WITH);
29187 setState(4155);
29188 match(LP_);
29189 setState(4156);
29190 relationalIndexOption();
29191 setState(4161);
29192 _errHandler.sync(this);
29193 _la = _input.LA(1);
29194 while (_la==COMMA_) {
29195 {
29196 {
29197 setState(4157);
29198 match(COMMA_);
29199 setState(4158);
29200 relationalIndexOption();
29201 }
29202 }
29203 setState(4163);
29204 _errHandler.sync(this);
29205 _la = _input.LA(1);
29206 }
29207 setState(4164);
29208 match(RP_);
29209 }
29210 }
29211
29212 setState(4177);
29213 _errHandler.sync(this);
29214 _la = _input.LA(1);
29215 if (_la==ON) {
29216 {
29217 setState(4168);
29218 match(ON);
29219 setState(4175);
29220 _errHandler.sync(this);
29221 switch ( getInterpreter().adaptivePredict(_input,447,_ctx) ) {
29222 case 1:
29223 {
29224 setState(4169);
29225 schemaName();
29226 setState(4170);
29227 match(LP_);
29228 setState(4171);
29229 columnName();
29230 setState(4172);
29231 match(RP_);
29232 }
29233 break;
29234 case 2:
29235 {
29236 setState(4174);
29237 name();
29238 }
29239 break;
29240 }
29241 }
29242 }
29243
29244 setState(4184);
29245 _errHandler.sync(this);
29246 _la = _input.LA(1);
29247 if (_la==FILESTREAM_ON) {
29248 {
29249 setState(4179);
29250 match(FILESTREAM_ON);
29251 setState(4182);
29252 _errHandler.sync(this);
29253 switch (_input.LA(1)) {
29254 case TRUNCATE:
29255 case SCHEMA:
29256 case COLUMNS:
29257 case PRECISION:
29258 case FUNCTION:
29259 case TRIGGER:
29260 case CAST:
29261 case SUBSTRING:
29262 case OFF:
29263 case GROUP:
29264 case LIMIT:
29265 case OFFSET:
29266 case SAVEPOINT:
29267 case BOOLEAN:
29268 case ARRAY:
29269 case DATE:
29270 case LOCALTIME:
29271 case LOCALTIMESTAMP:
29272 case QUARTER:
29273 case MONTH:
29274 case WEEK:
29275 case DAY:
29276 case SECOND:
29277 case MICROSECOND:
29278 case MAX:
29279 case MIN:
29280 case SUM:
29281 case COUNT:
29282 case AVG:
29283 case ENABLE:
29284 case DISABLE:
29285 case INSTANCE:
29286 case DO:
29287 case DEFINER:
29288 case SQL:
29289 case CASCADED:
29290 case LOCAL:
29291 case NEXT:
29292 case NAME:
29293 case INTEGER:
29294 case TYPE:
29295 case TEXT:
29296 case VIEWS:
29297 case READ_ONLY:
29298 case DATABASE:
29299 case RETURNS:
29300 case DATEPART:
29301 case PASSWORD:
29302 case BINARY:
29303 case HIDDEN_:
29304 case MOD:
29305 case PARTITION:
29306 case PARTITIONS:
29307 case TOP:
29308 case ROW:
29309 case ROWS:
29310 case XOR:
29311 case ALWAYS:
29312 case ROLE:
29313 case START:
29314 case ALGORITHM:
29315 case AUTO:
29316 case BLOCKERS:
29317 case CLUSTERED:
29318 case NONCLUSTERED:
29319 case COLUMNSTORE:
29320 case CONTENT:
29321 case YEARS:
29322 case MONTHS:
29323 case WEEKS:
29324 case DAYS:
29325 case MINUTES:
29326 case DENY:
29327 case DETERMINISTIC:
29328 case DISTRIBUTION:
29329 case DOCUMENT:
29330 case DURABILITY:
29331 case ENCRYPTED:
29332 case FILESTREAM:
29333 case FILETABLE:
29334 case FILLFACTOR:
29335 case FOLLOWING:
29336 case HASH:
29337 case HEAP:
29338 case INBOUND:
29339 case OUTBOUND:
29340 case UNBOUNDED:
29341 case INFINITE:
29342 case LOGIN:
29343 case MASKED:
29344 case MAXDOP:
29345 case MOVE:
29346 case NOCHECK:
29347 case OBJECT:
29348 case ONLINE:
29349 case OVER:
29350 case PAGE:
29351 case PAUSED:
29352 case PERIOD:
29353 case PERSISTED:
29354 case PRECEDING:
29355 case RANDOMIZED:
29356 case RANGE:
29357 case REBUILD:
29358 case REPLICATE:
29359 case REPLICATION:
29360 case RESUMABLE:
29361 case ROWGUIDCOL:
29362 case SAVE:
29363 case SELF:
29364 case SPARSE:
29365 case SWITCH:
29366 case TRAN:
29367 case TRANCOUNT:
29368 case CONTROL:
29369 case CONCAT:
29370 case TAKE:
29371 case OWNERSHIP:
29372 case DEFINITION:
29373 case APPLICATION:
29374 case ASSEMBLY:
29375 case SYMMETRIC:
29376 case ASYMMETRIC:
29377 case SERVER:
29378 case RECEIVE:
29379 case CHANGE:
29380 case TRACE:
29381 case TRACKING:
29382 case RESOURCES:
29383 case SETTINGS:
29384 case STATE:
29385 case AVAILABILITY:
29386 case CREDENTIAL:
29387 case ENDPOINT:
29388 case EVENT:
29389 case NOTIFICATION:
29390 case LINKED:
29391 case AUDIT:
29392 case DDL:
29393 case XML:
29394 case IMPERSONATE:
29395 case SECURABLES:
29396 case AUTHENTICATE:
29397 case EXTERNAL:
29398 case ACCESS:
29399 case ADMINISTER:
29400 case BULK:
29401 case OPERATIONS:
29402 case UNSAFE:
29403 case SHUTDOWN:
29404 case SCOPED:
29405 case CONFIGURATION:
29406 case DATASPACE:
29407 case SERVICE:
29408 case CERTIFICATE:
29409 case CONTRACT:
29410 case ENCRYPTION:
29411 case MASTER:
29412 case DATA:
29413 case SOURCE:
29414 case FILE:
29415 case FORMAT:
29416 case LIBRARY:
29417 case FULLTEXT:
29418 case MASK:
29419 case UNMASK:
29420 case MESSAGE:
29421 case REMOTE:
29422 case BINDING:
29423 case ROUTE:
29424 case SECURITY:
29425 case POLICY:
29426 case AGGREGATE:
29427 case QUEUE:
29428 case RULE:
29429 case SYNONYM:
29430 case COLLECTION:
29431 case SCRIPT:
29432 case KILL:
29433 case BACKUP:
29434 case LOG:
29435 case SHOWPLAN:
29436 case SUBSCRIBE:
29437 case QUERY:
29438 case NOTIFICATIONS:
29439 case CHECKPOINT:
29440 case SEQUENCE:
29441 case ABORT_AFTER_WAIT:
29442 case ALLOW_PAGE_LOCKS:
29443 case ALLOW_ROW_LOCKS:
29444 case ALL_SPARSE_COLUMNS:
29445 case BUCKET_COUNT:
29446 case COLUMNSTORE_ARCHIVE:
29447 case COLUMN_ENCRYPTION_KEY:
29448 case COLUMN_SET:
29449 case COMPRESSION_DELAY:
29450 case DATABASE_DEAULT:
29451 case DATA_COMPRESSION:
29452 case DATA_CONSISTENCY_CHECK:
29453 case ENCRYPTION_TYPE:
29454 case SYSTEM_TIME:
29455 case SYSTEM_VERSIONING:
29456 case TEXTIMAGE_ON:
29457 case WAIT_AT_LOW_PRIORITY:
29458 case STATISTICS_INCREMENTAL:
29459 case STATISTICS_NORECOMPUTE:
29460 case ROUND_ROBIN:
29461 case SCHEMA_AND_DATA:
29462 case SCHEMA_ONLY:
29463 case SORT_IN_TEMPDB:
29464 case IGNORE_DUP_KEY:
29465 case IMPLICIT_TRANSACTIONS:
29466 case MAX_DURATION:
29467 case MEMORY_OPTIMIZED:
29468 case MIGRATION_STATE:
29469 case PAD_INDEX:
29470 case REMOTE_DATA_ARCHIVE:
29471 case FILESTREAM_ON:
29472 case FILETABLE_COLLATE_FILENAME:
29473 case FILETABLE_DIRECTORY:
29474 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
29475 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
29476 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
29477 case FILTER_PREDICATE:
29478 case HISTORY_RETENTION_PERIOD:
29479 case HISTORY_TABLE:
29480 case LOCK_ESCALATION:
29481 case DROP_EXISTING:
29482 case ROW_NUMBER:
29483 case FIRST:
29484 case DATETIME2:
29485 case OUTPUT:
29486 case INSERTED:
29487 case DELETED:
29488 case FILENAME:
29489 case SIZE:
29490 case MAXSIZE:
29491 case FILEGROWTH:
29492 case UNLIMITED:
29493 case KB:
29494 case MB:
29495 case GB:
29496 case TB:
29497 case CONTAINS:
29498 case MEMORY_OPTIMIZED_DATA:
29499 case FILEGROUP:
29500 case NON_TRANSACTED_ACCESS:
29501 case DB_CHAINING:
29502 case TRUSTWORTHY:
29503 case FORWARD_ONLY:
29504 case KEYSET:
29505 case FAST_FORWARD:
29506 case SCROLL_LOCKS:
29507 case OPTIMISTIC:
29508 case TYPE_WARNING:
29509 case SCHEMABINDING:
29510 case CALLER:
29511 case OWNER:
29512 case SNAPSHOT:
29513 case REPEATABLE:
29514 case SERIALIZABLE:
29515 case NATIVE_COMPILATION:
29516 case VIEW_METADATA:
29517 case INSTEAD:
29518 case APPEND:
29519 case INCREMENT:
29520 case CACHE:
29521 case MINVALUE:
29522 case MAXVALUE:
29523 case RESTART:
29524 case LOB_COMPACTION:
29525 case COMPRESS_ALL_ROW_GROUPS:
29526 case REORGANIZE:
29527 case RESUME:
29528 case PAUSE:
29529 case ABORT:
29530 case ACCELERATED_DATABASE_RECOVERY:
29531 case PERSISTENT_VERSION_STORE_FILEGROUP:
29532 case IMMEDIATE:
29533 case NO_WAIT:
29534 case TARGET_RECOVERY_TIME:
29535 case SECONDS:
29536 case HONOR_BROKER_PRIORITY:
29537 case ERROR_BROKER_CONVERSATIONS:
29538 case NEW_BROKER:
29539 case DISABLE_BROKER:
29540 case ENABLE_BROKER:
29541 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
29542 case READ_COMMITTED_SNAPSHOT:
29543 case ALLOW_SNAPSHOT_ISOLATION:
29544 case RECURSIVE_TRIGGERS:
29545 case QUOTED_IDENTIFIER:
29546 case NUMERIC_ROUNDABORT:
29547 case CONCAT_NULL_YIELDS_NULL:
29548 case COMPATIBILITY_LEVEL:
29549 case ARITHABORT:
29550 case ANSI_WARNINGS:
29551 case ANSI_PADDING:
29552 case ANSI_NULLS:
29553 case ANSI_NULL_DEFAULT:
29554 case PAGE_VERIFY:
29555 case CHECKSUM:
29556 case TORN_PAGE_DETECTION:
29557 case BULK_LOGGED:
29558 case RECOVERY:
29559 case TOTAL_EXECUTION_CPU_TIME_MS:
29560 case TOTAL_COMPILE_CPU_TIME_MS:
29561 case STALE_CAPTURE_POLICY_THRESHOLD:
29562 case EXECUTION_COUNT:
29563 case QUERY_CAPTURE_POLICY:
29564 case WAIT_STATS_CAPTURE_MODE:
29565 case MAX_PLANS_PER_QUERY:
29566 case QUERY_CAPTURE_MODE:
29567 case SIZE_BASED_CLEANUP_MODE:
29568 case INTERVAL_LENGTH_MINUTES:
29569 case MAX_STORAGE_SIZE_MB:
29570 case DATA_FLUSH_INTERVAL_SECONDS:
29571 case CLEANUP_POLICY:
29572 case CUSTOM:
29573 case STALE_QUERY_THRESHOLD_DAYS:
29574 case OPERATION_MODE:
29575 case QUERY_STORE:
29576 case CURSOR_DEFAULT:
29577 case GLOBAL:
29578 case CURSOR_CLOSE_ON_COMMIT:
29579 case HOURS:
29580 case CHANGE_RETENTION:
29581 case AUTO_CLEANUP:
29582 case CHANGE_TRACKING:
29583 case AUTOMATIC_TUNING:
29584 case FORCE_LAST_GOOD_PLAN:
29585 case AUTO_UPDATE_STATISTICS_ASYNC:
29586 case AUTO_UPDATE_STATISTICS:
29587 case AUTO_SHRINK:
29588 case AUTO_CREATE_STATISTICS:
29589 case INCREMENTAL:
29590 case AUTO_CLOSE:
29591 case DATA_RETENTION:
29592 case TEMPORAL_HISTORY_RETENTION:
29593 case EDITION:
29594 case MIXED_PAGE_ALLOCATION:
29595 case DISABLED:
29596 case ALLOWED:
29597 case HADR:
29598 case MULTI_USER:
29599 case RESTRICTED_USER:
29600 case SINGLE_USER:
29601 case OFFLINE:
29602 case EMERGENCY:
29603 case SUSPEND:
29604 case DATE_CORRELATION_OPTIMIZATION:
29605 case ELASTIC_POOL:
29606 case SERVICE_OBJECTIVE:
29607 case DATABASE_NAME:
29608 case ALLOW_CONNECTIONS:
29609 case GEO:
29610 case NAMED:
29611 case DATEFIRST:
29612 case BACKUP_STORAGE_REDUNDANCY:
29613 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
29614 case SECONDARY:
29615 case FAILOVER:
29616 case DEFAULT_FULLTEXT_LANGUAGE:
29617 case DEFAULT_LANGUAGE:
29618 case INLINE:
29619 case NESTED_TRIGGERS:
29620 case TRANSFORM_NOISE_WORDS:
29621 case TWO_DIGIT_YEAR_CUTOFF:
29622 case PERSISTENT_LOG_BUFFER:
29623 case DIRECTORY_NAME:
29624 case DATEFORMAT:
29625 case DELAYED_DURABILITY:
29626 case AUTHORIZATION:
29627 case TRANSFER:
29628 case PROVIDER:
29629 case SEARCH:
29630 case MEMBER:
29631 case IDENTIFIER_:
29632 case DELIMITED_IDENTIFIER_:
29633 {
29634 setState(4180);
29635 name();
29636 }
29637 break;
29638 case STRING_:
29639 case NCHAR_TEXT:
29640 {
29641 setState(4181);
29642 stringLiterals();
29643 }
29644 break;
29645 default:
29646 throw new NoViableAltException(this);
29647 }
29648 }
29649 }
29650
29651 }
29652 }
29653 catch (RecognitionException re) {
29654 _localctx.exception = re;
29655 _errHandler.reportError(this, re);
29656 _errHandler.recover(this, re);
29657 }
29658 finally {
29659 exitRule();
29660 }
29661 return _localctx;
29662 }
29663
29664 public static class FilterPredicateContext extends ParserRuleContext {
29665 public List<ConjunctContext> conjunct() {
29666 return getRuleContexts(ConjunctContext.class);
29667 }
29668 public ConjunctContext conjunct(int i) {
29669 return getRuleContext(ConjunctContext.class,i);
29670 }
29671 public List<TerminalNode> AND() { return getTokens(SQLServerStatementParser.AND); }
29672 public TerminalNode AND(int i) {
29673 return getToken(SQLServerStatementParser.AND, i);
29674 }
29675 public FilterPredicateContext(ParserRuleContext parent, int invokingState) {
29676 super(parent, invokingState);
29677 }
29678 @Override public int getRuleIndex() { return RULE_filterPredicate; }
29679 @Override
29680 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29681 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilterPredicate(this);
29682 else return visitor.visitChildren(this);
29683 }
29684 }
29685
29686 public final FilterPredicateContext filterPredicate() throws RecognitionException {
29687 FilterPredicateContext _localctx = new FilterPredicateContext(_ctx, getState());
29688 enterRule(_localctx, 596, RULE_filterPredicate);
29689 int _la;
29690 try {
29691 enterOuterAlt(_localctx, 1);
29692 {
29693 setState(4186);
29694 conjunct();
29695 setState(4191);
29696 _errHandler.sync(this);
29697 _la = _input.LA(1);
29698 while (_la==AND) {
29699 {
29700 {
29701 setState(4187);
29702 match(AND);
29703 setState(4188);
29704 conjunct();
29705 }
29706 }
29707 setState(4193);
29708 _errHandler.sync(this);
29709 _la = _input.LA(1);
29710 }
29711 }
29712 }
29713 catch (RecognitionException re) {
29714 _localctx.exception = re;
29715 _errHandler.reportError(this, re);
29716 _errHandler.recover(this, re);
29717 }
29718 finally {
29719 exitRule();
29720 }
29721 return _localctx;
29722 }
29723
29724 public static class ConjunctContext extends ParserRuleContext {
29725 public ColumnNameContext columnName() {
29726 return getRuleContext(ColumnNameContext.class,0);
29727 }
29728 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
29729 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
29730 public List<ExprContext> expr() {
29731 return getRuleContexts(ExprContext.class);
29732 }
29733 public ExprContext expr(int i) {
29734 return getRuleContext(ExprContext.class,i);
29735 }
29736 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
29737 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29738 public TerminalNode COMMA_(int i) {
29739 return getToken(SQLServerStatementParser.COMMA_, i);
29740 }
29741 public ComparisonOperatorContext comparisonOperator() {
29742 return getRuleContext(ComparisonOperatorContext.class,0);
29743 }
29744 public ConjunctContext(ParserRuleContext parent, int invokingState) {
29745 super(parent, invokingState);
29746 }
29747 @Override public int getRuleIndex() { return RULE_conjunct; }
29748 @Override
29749 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29750 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConjunct(this);
29751 else return visitor.visitChildren(this);
29752 }
29753 }
29754
29755 public final ConjunctContext conjunct() throws RecognitionException {
29756 ConjunctContext _localctx = new ConjunctContext(_ctx, getState());
29757 enterRule(_localctx, 598, RULE_conjunct);
29758 int _la;
29759 try {
29760 setState(4211);
29761 _errHandler.sync(this);
29762 switch ( getInterpreter().adaptivePredict(_input,453,_ctx) ) {
29763 case 1:
29764 enterOuterAlt(_localctx, 1);
29765 {
29766 setState(4194);
29767 columnName();
29768 setState(4195);
29769 match(IN);
29770 setState(4196);
29771 match(LP_);
29772 setState(4197);
29773 expr(0);
29774 setState(4202);
29775 _errHandler.sync(this);
29776 _la = _input.LA(1);
29777 while (_la==COMMA_) {
29778 {
29779 {
29780 setState(4198);
29781 match(COMMA_);
29782 setState(4199);
29783 expr(0);
29784 }
29785 }
29786 setState(4204);
29787 _errHandler.sync(this);
29788 _la = _input.LA(1);
29789 }
29790 setState(4205);
29791 match(RP_);
29792 }
29793 break;
29794 case 2:
29795 enterOuterAlt(_localctx, 2);
29796 {
29797 setState(4207);
29798 columnName();
29799 setState(4208);
29800 comparisonOperator();
29801 setState(4209);
29802 expr(0);
29803 }
29804 break;
29805 }
29806 }
29807 catch (RecognitionException re) {
29808 _localctx.exception = re;
29809 _errHandler.reportError(this, re);
29810 _errHandler.recover(this, re);
29811 }
29812 finally {
29813 exitRule();
29814 }
29815 return _localctx;
29816 }
29817
29818 public static class AlterIndexClauseContext extends ParserRuleContext {
29819 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
29820 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
29821 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
29822 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
29823 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
29824 public List<RelationalIndexOptionContext> relationalIndexOption() {
29825 return getRuleContexts(RelationalIndexOptionContext.class);
29826 }
29827 public RelationalIndexOptionContext relationalIndexOption(int i) {
29828 return getRuleContext(RelationalIndexOptionContext.class,i);
29829 }
29830 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
29831 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
29832 public ExprContext expr() {
29833 return getRuleContext(ExprContext.class,0);
29834 }
29835 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29836 public TerminalNode COMMA_(int i) {
29837 return getToken(SQLServerStatementParser.COMMA_, i);
29838 }
29839 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
29840 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
29841 public ReorganizeOptionContext reorganizeOption() {
29842 return getRuleContext(ReorganizeOptionContext.class,0);
29843 }
29844 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
29845 public List<SetIndexOptionContext> setIndexOption() {
29846 return getRuleContexts(SetIndexOptionContext.class);
29847 }
29848 public SetIndexOptionContext setIndexOption(int i) {
29849 return getRuleContext(SetIndexOptionContext.class,i);
29850 }
29851 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
29852 public List<ResumableIndexOptionsContext> resumableIndexOptions() {
29853 return getRuleContexts(ResumableIndexOptionsContext.class);
29854 }
29855 public ResumableIndexOptionsContext resumableIndexOptions(int i) {
29856 return getRuleContext(ResumableIndexOptionsContext.class,i);
29857 }
29858 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
29859 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
29860 public AlterIndexClauseContext(ParserRuleContext parent, int invokingState) {
29861 super(parent, invokingState);
29862 }
29863 @Override public int getRuleIndex() { return RULE_alterIndexClause; }
29864 @Override
29865 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29866 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndexClause(this);
29867 else return visitor.visitChildren(this);
29868 }
29869 }
29870
29871 public final AlterIndexClauseContext alterIndexClause() throws RecognitionException {
29872 AlterIndexClauseContext _localctx = new AlterIndexClauseContext(_ctx, getState());
29873 enterRule(_localctx, 600, RULE_alterIndexClause);
29874 int _la;
29875 try {
29876 setState(4275);
29877 _errHandler.sync(this);
29878 switch (_input.LA(1)) {
29879 case REBUILD:
29880 enterOuterAlt(_localctx, 1);
29881 {
29882 setState(4213);
29883 match(REBUILD);
29884 setState(4220);
29885 _errHandler.sync(this);
29886 _la = _input.LA(1);
29887 if (_la==PARTITION) {
29888 {
29889 setState(4214);
29890 match(PARTITION);
29891 setState(4215);
29892 match(EQ_);
29893 setState(4218);
29894 _errHandler.sync(this);
29895 switch (_input.LA(1)) {
29896 case ALL:
29897 {
29898 setState(4216);
29899 match(ALL);
29900 }
29901 break;
29902 case NOT_:
29903 case TILDE_:
29904 case PLUS_:
29905 case MINUS_:
29906 case LP_:
29907 case LBE_:
29908 case QUESTION_:
29909 case DOLLAR_:
29910 case TRUNCATE:
29911 case SCHEMA:
29912 case COLUMNS:
29913 case PRECISION:
29914 case FUNCTION:
29915 case TRIGGER:
29916 case CASE:
29917 case CAST:
29918 case SUBSTRING:
29919 case OFF:
29920 case IF:
29921 case NOT:
29922 case NULL:
29923 case TRUE:
29924 case FALSE:
29925 case EXISTS:
29926 case GROUP:
29927 case LIMIT:
29928 case OFFSET:
29929 case SAVEPOINT:
29930 case BOOLEAN:
29931 case CHAR:
29932 case ARRAY:
29933 case INTERVAL:
29934 case DATE:
29935 case TIME:
29936 case TIMESTAMP:
29937 case LOCALTIME:
29938 case LOCALTIMESTAMP:
29939 case QUARTER:
29940 case MONTH:
29941 case WEEK:
29942 case DAY:
29943 case SECOND:
29944 case MICROSECOND:
29945 case MAX:
29946 case MIN:
29947 case SUM:
29948 case COUNT:
29949 case AVG:
29950 case ENABLE:
29951 case DISABLE:
29952 case INSTANCE:
29953 case DO:
29954 case DEFINER:
29955 case SQL:
29956 case CASCADED:
29957 case LOCAL:
29958 case NEXT:
29959 case NAME:
29960 case INTEGER:
29961 case TYPE:
29962 case TEXT:
29963 case VIEWS:
29964 case READ_ONLY:
29965 case DATABASE:
29966 case RETURNS:
29967 case DATEPART:
29968 case PASSWORD:
29969 case BINARY:
29970 case HIDDEN_:
29971 case MOD:
29972 case PARTITION:
29973 case PARTITIONS:
29974 case TOP:
29975 case ROW:
29976 case ROWS:
29977 case XOR:
29978 case ALWAYS:
29979 case ROLE:
29980 case START:
29981 case ALGORITHM:
29982 case AUTO:
29983 case BLOCKERS:
29984 case CLUSTERED:
29985 case NONCLUSTERED:
29986 case COLUMNSTORE:
29987 case CONTENT:
29988 case CONVERT:
29989 case YEARS:
29990 case MONTHS:
29991 case WEEKS:
29992 case DAYS:
29993 case MINUTES:
29994 case DENY:
29995 case DETERMINISTIC:
29996 case DISTRIBUTION:
29997 case DOCUMENT:
29998 case DURABILITY:
29999 case ENCRYPTED:
30000 case FILESTREAM:
30001 case FILETABLE:
30002 case FILLFACTOR:
30003 case FOLLOWING:
30004 case HASH:
30005 case HEAP:
30006 case INBOUND:
30007 case OUTBOUND:
30008 case UNBOUNDED:
30009 case INFINITE:
30010 case LOGIN:
30011 case MASKED:
30012 case MAXDOP:
30013 case MOVE:
30014 case NOCHECK:
30015 case OBJECT:
30016 case ONLINE:
30017 case OVER:
30018 case PAGE:
30019 case PAUSED:
30020 case PERIOD:
30021 case PERSISTED:
30022 case PRECEDING:
30023 case RANDOMIZED:
30024 case RANGE:
30025 case REBUILD:
30026 case REPLICATE:
30027 case REPLICATION:
30028 case RESUMABLE:
30029 case ROWGUIDCOL:
30030 case SAVE:
30031 case SELF:
30032 case SPARSE:
30033 case SWITCH:
30034 case TRAN:
30035 case TRANCOUNT:
30036 case CONTROL:
30037 case CONCAT:
30038 case TAKE:
30039 case OWNERSHIP:
30040 case DEFINITION:
30041 case APPLICATION:
30042 case ASSEMBLY:
30043 case SYMMETRIC:
30044 case ASYMMETRIC:
30045 case SERVER:
30046 case RECEIVE:
30047 case CHANGE:
30048 case TRACE:
30049 case TRACKING:
30050 case RESOURCES:
30051 case SETTINGS:
30052 case STATE:
30053 case AVAILABILITY:
30054 case CREDENTIAL:
30055 case ENDPOINT:
30056 case EVENT:
30057 case NOTIFICATION:
30058 case LINKED:
30059 case AUDIT:
30060 case DDL:
30061 case XML:
30062 case IMPERSONATE:
30063 case SECURABLES:
30064 case AUTHENTICATE:
30065 case EXTERNAL:
30066 case ACCESS:
30067 case ADMINISTER:
30068 case BULK:
30069 case OPERATIONS:
30070 case UNSAFE:
30071 case SHUTDOWN:
30072 case SCOPED:
30073 case CONFIGURATION:
30074 case DATASPACE:
30075 case SERVICE:
30076 case CERTIFICATE:
30077 case CONTRACT:
30078 case ENCRYPTION:
30079 case MASTER:
30080 case DATA:
30081 case SOURCE:
30082 case FILE:
30083 case FORMAT:
30084 case LIBRARY:
30085 case FULLTEXT:
30086 case MASK:
30087 case UNMASK:
30088 case MESSAGE:
30089 case REMOTE:
30090 case BINDING:
30091 case ROUTE:
30092 case SECURITY:
30093 case POLICY:
30094 case AGGREGATE:
30095 case QUEUE:
30096 case RULE:
30097 case SYNONYM:
30098 case COLLECTION:
30099 case SCRIPT:
30100 case KILL:
30101 case BACKUP:
30102 case LOG:
30103 case SHOWPLAN:
30104 case SUBSCRIBE:
30105 case QUERY:
30106 case NOTIFICATIONS:
30107 case CHECKPOINT:
30108 case SEQUENCE:
30109 case ABORT_AFTER_WAIT:
30110 case ALLOW_PAGE_LOCKS:
30111 case ALLOW_ROW_LOCKS:
30112 case ALL_SPARSE_COLUMNS:
30113 case BUCKET_COUNT:
30114 case COLUMNSTORE_ARCHIVE:
30115 case COLUMN_ENCRYPTION_KEY:
30116 case COLUMN_SET:
30117 case COMPRESSION_DELAY:
30118 case DATABASE_DEAULT:
30119 case DATA_COMPRESSION:
30120 case DATA_CONSISTENCY_CHECK:
30121 case ENCRYPTION_TYPE:
30122 case SYSTEM_TIME:
30123 case SYSTEM_VERSIONING:
30124 case TEXTIMAGE_ON:
30125 case WAIT_AT_LOW_PRIORITY:
30126 case STATISTICS_INCREMENTAL:
30127 case STATISTICS_NORECOMPUTE:
30128 case ROUND_ROBIN:
30129 case SCHEMA_AND_DATA:
30130 case SCHEMA_ONLY:
30131 case SORT_IN_TEMPDB:
30132 case IGNORE_DUP_KEY:
30133 case IMPLICIT_TRANSACTIONS:
30134 case MAX_DURATION:
30135 case MEMORY_OPTIMIZED:
30136 case MIGRATION_STATE:
30137 case PAD_INDEX:
30138 case REMOTE_DATA_ARCHIVE:
30139 case FILESTREAM_ON:
30140 case FILETABLE_COLLATE_FILENAME:
30141 case FILETABLE_DIRECTORY:
30142 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
30143 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
30144 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
30145 case FILTER_PREDICATE:
30146 case HISTORY_RETENTION_PERIOD:
30147 case HISTORY_TABLE:
30148 case LOCK_ESCALATION:
30149 case DROP_EXISTING:
30150 case ROW_NUMBER:
30151 case FIRST:
30152 case DATETIME2:
30153 case OUTPUT:
30154 case INSERTED:
30155 case DELETED:
30156 case FILENAME:
30157 case SIZE:
30158 case MAXSIZE:
30159 case FILEGROWTH:
30160 case UNLIMITED:
30161 case KB:
30162 case MB:
30163 case GB:
30164 case TB:
30165 case CONTAINS:
30166 case MEMORY_OPTIMIZED_DATA:
30167 case FILEGROUP:
30168 case NON_TRANSACTED_ACCESS:
30169 case DB_CHAINING:
30170 case TRUSTWORTHY:
30171 case FORWARD_ONLY:
30172 case KEYSET:
30173 case FAST_FORWARD:
30174 case SCROLL_LOCKS:
30175 case OPTIMISTIC:
30176 case TYPE_WARNING:
30177 case SCHEMABINDING:
30178 case CALLER:
30179 case OWNER:
30180 case SNAPSHOT:
30181 case REPEATABLE:
30182 case SERIALIZABLE:
30183 case NATIVE_COMPILATION:
30184 case VIEW_METADATA:
30185 case INSTEAD:
30186 case APPEND:
30187 case INCREMENT:
30188 case CACHE:
30189 case MINVALUE:
30190 case MAXVALUE:
30191 case RESTART:
30192 case LOB_COMPACTION:
30193 case COMPRESS_ALL_ROW_GROUPS:
30194 case REORGANIZE:
30195 case RESUME:
30196 case PAUSE:
30197 case ABORT:
30198 case ACCELERATED_DATABASE_RECOVERY:
30199 case PERSISTENT_VERSION_STORE_FILEGROUP:
30200 case IMMEDIATE:
30201 case NO_WAIT:
30202 case TARGET_RECOVERY_TIME:
30203 case SECONDS:
30204 case HONOR_BROKER_PRIORITY:
30205 case ERROR_BROKER_CONVERSATIONS:
30206 case NEW_BROKER:
30207 case DISABLE_BROKER:
30208 case ENABLE_BROKER:
30209 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
30210 case READ_COMMITTED_SNAPSHOT:
30211 case ALLOW_SNAPSHOT_ISOLATION:
30212 case RECURSIVE_TRIGGERS:
30213 case QUOTED_IDENTIFIER:
30214 case NUMERIC_ROUNDABORT:
30215 case CONCAT_NULL_YIELDS_NULL:
30216 case COMPATIBILITY_LEVEL:
30217 case ARITHABORT:
30218 case ANSI_WARNINGS:
30219 case ANSI_PADDING:
30220 case ANSI_NULLS:
30221 case ANSI_NULL_DEFAULT:
30222 case PAGE_VERIFY:
30223 case CHECKSUM:
30224 case TORN_PAGE_DETECTION:
30225 case BULK_LOGGED:
30226 case RECOVERY:
30227 case TOTAL_EXECUTION_CPU_TIME_MS:
30228 case TOTAL_COMPILE_CPU_TIME_MS:
30229 case STALE_CAPTURE_POLICY_THRESHOLD:
30230 case EXECUTION_COUNT:
30231 case QUERY_CAPTURE_POLICY:
30232 case WAIT_STATS_CAPTURE_MODE:
30233 case MAX_PLANS_PER_QUERY:
30234 case QUERY_CAPTURE_MODE:
30235 case SIZE_BASED_CLEANUP_MODE:
30236 case INTERVAL_LENGTH_MINUTES:
30237 case MAX_STORAGE_SIZE_MB:
30238 case DATA_FLUSH_INTERVAL_SECONDS:
30239 case CLEANUP_POLICY:
30240 case CUSTOM:
30241 case STALE_QUERY_THRESHOLD_DAYS:
30242 case OPERATION_MODE:
30243 case QUERY_STORE:
30244 case CURSOR_DEFAULT:
30245 case GLOBAL:
30246 case CURSOR_CLOSE_ON_COMMIT:
30247 case HOURS:
30248 case CHANGE_RETENTION:
30249 case AUTO_CLEANUP:
30250 case CHANGE_TRACKING:
30251 case AUTOMATIC_TUNING:
30252 case FORCE_LAST_GOOD_PLAN:
30253 case AUTO_UPDATE_STATISTICS_ASYNC:
30254 case AUTO_UPDATE_STATISTICS:
30255 case AUTO_SHRINK:
30256 case AUTO_CREATE_STATISTICS:
30257 case INCREMENTAL:
30258 case AUTO_CLOSE:
30259 case DATA_RETENTION:
30260 case TEMPORAL_HISTORY_RETENTION:
30261 case EDITION:
30262 case MIXED_PAGE_ALLOCATION:
30263 case DISABLED:
30264 case ALLOWED:
30265 case HADR:
30266 case MULTI_USER:
30267 case RESTRICTED_USER:
30268 case SINGLE_USER:
30269 case OFFLINE:
30270 case EMERGENCY:
30271 case SUSPEND:
30272 case DATE_CORRELATION_OPTIMIZATION:
30273 case ELASTIC_POOL:
30274 case SERVICE_OBJECTIVE:
30275 case DATABASE_NAME:
30276 case ALLOW_CONNECTIONS:
30277 case GEO:
30278 case NAMED:
30279 case DATEFIRST:
30280 case BACKUP_STORAGE_REDUNDANCY:
30281 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
30282 case SECONDARY:
30283 case FAILOVER:
30284 case DEFAULT_FULLTEXT_LANGUAGE:
30285 case DEFAULT_LANGUAGE:
30286 case INLINE:
30287 case NESTED_TRIGGERS:
30288 case TRANSFORM_NOISE_WORDS:
30289 case TWO_DIGIT_YEAR_CUTOFF:
30290 case PERSISTENT_LOG_BUFFER:
30291 case DIRECTORY_NAME:
30292 case DATEFORMAT:
30293 case DELAYED_DURABILITY:
30294 case AUTHORIZATION:
30295 case TRANSFER:
30296 case PROVIDER:
30297 case SEARCH:
30298 case MEMBER:
30299 case OPENJSON:
30300 case OPENROWSET:
30301 case IDENTIFIER_:
30302 case DELIMITED_IDENTIFIER_:
30303 case STRING_:
30304 case NUMBER_:
30305 case HEX_DIGIT_:
30306 case BIT_NUM_:
30307 case NCHAR_TEXT:
30308 {
30309 setState(4217);
30310 expr(0);
30311 }
30312 break;
30313 default:
30314 throw new NoViableAltException(this);
30315 }
30316 }
30317 }
30318
30319 setState(4234);
30320 _errHandler.sync(this);
30321 _la = _input.LA(1);
30322 if (_la==WITH) {
30323 {
30324 setState(4222);
30325 match(WITH);
30326 setState(4223);
30327 match(LP_);
30328 setState(4224);
30329 relationalIndexOption();
30330 setState(4229);
30331 _errHandler.sync(this);
30332 _la = _input.LA(1);
30333 while (_la==COMMA_) {
30334 {
30335 {
30336 setState(4225);
30337 match(COMMA_);
30338 setState(4226);
30339 relationalIndexOption();
30340 }
30341 }
30342 setState(4231);
30343 _errHandler.sync(this);
30344 _la = _input.LA(1);
30345 }
30346 setState(4232);
30347 match(RP_);
30348 }
30349 }
30350
30351 }
30352 break;
30353 case DISABLE:
30354 enterOuterAlt(_localctx, 2);
30355 {
30356 setState(4236);
30357 match(DISABLE);
30358 }
30359 break;
30360 case REORGANIZE:
30361 enterOuterAlt(_localctx, 3);
30362 {
30363 setState(4237);
30364 match(REORGANIZE);
30365 setState(4241);
30366 _errHandler.sync(this);
30367 _la = _input.LA(1);
30368 if (_la==PARTITION) {
30369 {
30370 setState(4238);
30371 match(PARTITION);
30372 setState(4239);
30373 match(EQ_);
30374 setState(4240);
30375 expr(0);
30376 }
30377 }
30378
30379 setState(4248);
30380 _errHandler.sync(this);
30381 _la = _input.LA(1);
30382 if (_la==WITH) {
30383 {
30384 setState(4243);
30385 match(WITH);
30386 setState(4244);
30387 match(LP_);
30388 setState(4245);
30389 reorganizeOption();
30390 setState(4246);
30391 match(RP_);
30392 }
30393 }
30394
30395 }
30396 break;
30397 case SET:
30398 enterOuterAlt(_localctx, 4);
30399 {
30400 setState(4250);
30401 match(SET);
30402 setState(4251);
30403 match(LP_);
30404 setState(4252);
30405 setIndexOption();
30406 {
30407 setState(4253);
30408 match(COMMA_);
30409 setState(4254);
30410 setIndexOption();
30411 }
30412 setState(4256);
30413 match(RP_);
30414 }
30415 break;
30416 case RESUME:
30417 enterOuterAlt(_localctx, 5);
30418 {
30419 setState(4258);
30420 match(RESUME);
30421 setState(4271);
30422 _errHandler.sync(this);
30423 _la = _input.LA(1);
30424 if (_la==WITH) {
30425 {
30426 setState(4259);
30427 match(WITH);
30428 setState(4260);
30429 match(LP_);
30430 setState(4261);
30431 resumableIndexOptions();
30432 setState(4266);
30433 _errHandler.sync(this);
30434 _la = _input.LA(1);
30435 while (_la==COMMA_) {
30436 {
30437 {
30438 setState(4262);
30439 match(COMMA_);
30440 setState(4263);
30441 resumableIndexOptions();
30442 }
30443 }
30444 setState(4268);
30445 _errHandler.sync(this);
30446 _la = _input.LA(1);
30447 }
30448 setState(4269);
30449 match(RP_);
30450 }
30451 }
30452
30453 }
30454 break;
30455 case PAUSE:
30456 enterOuterAlt(_localctx, 6);
30457 {
30458 setState(4273);
30459 match(PAUSE);
30460 }
30461 break;
30462 case ABORT:
30463 enterOuterAlt(_localctx, 7);
30464 {
30465 setState(4274);
30466 match(ABORT);
30467 }
30468 break;
30469 default:
30470 throw new NoViableAltException(this);
30471 }
30472 }
30473 catch (RecognitionException re) {
30474 _localctx.exception = re;
30475 _errHandler.reportError(this, re);
30476 _errHandler.recover(this, re);
30477 }
30478 finally {
30479 exitRule();
30480 }
30481 return _localctx;
30482 }
30483
30484 public static class RelationalIndexOptionContext extends ParserRuleContext {
30485 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
30486 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30487 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
30488 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
30489 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
30490 public ExprContext expr() {
30491 return getRuleContext(ExprContext.class,0);
30492 }
30493 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
30494 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
30495 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
30496 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
30497 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
30498 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
30499 public LowPriorityLockWaitContext lowPriorityLockWait() {
30500 return getRuleContext(LowPriorityLockWaitContext.class,0);
30501 }
30502 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
30503 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
30504 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
30505 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
30506 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
30507 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
30508 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
30509 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
30510 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
30511 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
30512 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
30513 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
30514 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
30515 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
30516 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30517 public List<PartitionNumberRangeContext> partitionNumberRange() {
30518 return getRuleContexts(PartitionNumberRangeContext.class);
30519 }
30520 public PartitionNumberRangeContext partitionNumberRange(int i) {
30521 return getRuleContext(PartitionNumberRangeContext.class,i);
30522 }
30523 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
30524 public TerminalNode COMMA_(int i) {
30525 return getToken(SQLServerStatementParser.COMMA_, i);
30526 }
30527 public RelationalIndexOptionContext(ParserRuleContext parent, int invokingState) {
30528 super(parent, invokingState);
30529 }
30530 @Override public int getRuleIndex() { return RULE_relationalIndexOption; }
30531 @Override
30532 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30533 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRelationalIndexOption(this);
30534 else return visitor.visitChildren(this);
30535 }
30536 }
30537
30538 public final RelationalIndexOptionContext relationalIndexOption() throws RecognitionException {
30539 RelationalIndexOptionContext _localctx = new RelationalIndexOptionContext(_ctx, getState());
30540 enterRule(_localctx, 602, RULE_relationalIndexOption);
30541 int _la;
30542 try {
30543 int _alt;
30544 setState(4344);
30545 _errHandler.sync(this);
30546 switch (_input.LA(1)) {
30547 case PAD_INDEX:
30548 enterOuterAlt(_localctx, 1);
30549 {
30550 setState(4277);
30551 match(PAD_INDEX);
30552 setState(4278);
30553 match(EQ_);
30554 setState(4279);
30555 _la = _input.LA(1);
30556 if ( !(_la==ON || _la==OFF) ) {
30557 _errHandler.recoverInline(this);
30558 }
30559 else {
30560 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30561 _errHandler.reportMatch(this);
30562 consume();
30563 }
30564 }
30565 break;
30566 case FILLFACTOR:
30567 enterOuterAlt(_localctx, 2);
30568 {
30569 setState(4280);
30570 match(FILLFACTOR);
30571 setState(4281);
30572 match(EQ_);
30573 setState(4282);
30574 expr(0);
30575 }
30576 break;
30577 case SORT_IN_TEMPDB:
30578 enterOuterAlt(_localctx, 3);
30579 {
30580 setState(4283);
30581 match(SORT_IN_TEMPDB);
30582 setState(4284);
30583 match(EQ_);
30584 setState(4285);
30585 _la = _input.LA(1);
30586 if ( !(_la==ON || _la==OFF) ) {
30587 _errHandler.recoverInline(this);
30588 }
30589 else {
30590 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30591 _errHandler.reportMatch(this);
30592 consume();
30593 }
30594 }
30595 break;
30596 case IGNORE_DUP_KEY:
30597 enterOuterAlt(_localctx, 4);
30598 {
30599 setState(4286);
30600 match(IGNORE_DUP_KEY);
30601 setState(4287);
30602 match(EQ_);
30603 setState(4288);
30604 _la = _input.LA(1);
30605 if ( !(_la==ON || _la==OFF) ) {
30606 _errHandler.recoverInline(this);
30607 }
30608 else {
30609 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30610 _errHandler.reportMatch(this);
30611 consume();
30612 }
30613 }
30614 break;
30615 case STATISTICS_NORECOMPUTE:
30616 enterOuterAlt(_localctx, 5);
30617 {
30618 setState(4289);
30619 match(STATISTICS_NORECOMPUTE);
30620 setState(4290);
30621 match(EQ_);
30622 setState(4291);
30623 _la = _input.LA(1);
30624 if ( !(_la==ON || _la==OFF) ) {
30625 _errHandler.recoverInline(this);
30626 }
30627 else {
30628 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30629 _errHandler.reportMatch(this);
30630 consume();
30631 }
30632 }
30633 break;
30634 case STATISTICS_INCREMENTAL:
30635 enterOuterAlt(_localctx, 6);
30636 {
30637 setState(4292);
30638 match(STATISTICS_INCREMENTAL);
30639 setState(4293);
30640 match(EQ_);
30641 setState(4294);
30642 _la = _input.LA(1);
30643 if ( !(_la==ON || _la==OFF) ) {
30644 _errHandler.recoverInline(this);
30645 }
30646 else {
30647 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30648 _errHandler.reportMatch(this);
30649 consume();
30650 }
30651 }
30652 break;
30653 case DROP_EXISTING:
30654 enterOuterAlt(_localctx, 7);
30655 {
30656 setState(4295);
30657 match(DROP_EXISTING);
30658 setState(4296);
30659 match(EQ_);
30660 setState(4297);
30661 _la = _input.LA(1);
30662 if ( !(_la==ON || _la==OFF) ) {
30663 _errHandler.recoverInline(this);
30664 }
30665 else {
30666 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30667 _errHandler.reportMatch(this);
30668 consume();
30669 }
30670 }
30671 break;
30672 case ONLINE:
30673 enterOuterAlt(_localctx, 8);
30674 {
30675 setState(4298);
30676 match(ONLINE);
30677 setState(4299);
30678 match(EQ_);
30679 setState(4305);
30680 _errHandler.sync(this);
30681 switch (_input.LA(1)) {
30682 case ON:
30683 {
30684 setState(4300);
30685 match(ON);
30686 setState(4302);
30687 _errHandler.sync(this);
30688 _la = _input.LA(1);
30689 if (_la==WAIT_AT_LOW_PRIORITY) {
30690 {
30691 setState(4301);
30692 lowPriorityLockWait();
30693 }
30694 }
30695
30696 }
30697 break;
30698 case OFF:
30699 {
30700 setState(4304);
30701 match(OFF);
30702 }
30703 break;
30704 default:
30705 throw new NoViableAltException(this);
30706 }
30707 }
30708 break;
30709 case RESUMABLE:
30710 enterOuterAlt(_localctx, 9);
30711 {
30712 setState(4307);
30713 match(RESUMABLE);
30714 setState(4308);
30715 match(EQ_);
30716 setState(4309);
30717 _la = _input.LA(1);
30718 if ( !(_la==ON || _la==OFF) ) {
30719 _errHandler.recoverInline(this);
30720 }
30721 else {
30722 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30723 _errHandler.reportMatch(this);
30724 consume();
30725 }
30726 }
30727 break;
30728 case MAX_DURATION:
30729 enterOuterAlt(_localctx, 10);
30730 {
30731 setState(4310);
30732 match(MAX_DURATION);
30733 setState(4311);
30734 match(EQ_);
30735 setState(4312);
30736 expr(0);
30737 setState(4314);
30738 _errHandler.sync(this);
30739 _la = _input.LA(1);
30740 if (_la==MINUTES) {
30741 {
30742 setState(4313);
30743 match(MINUTES);
30744 }
30745 }
30746
30747 }
30748 break;
30749 case ALLOW_ROW_LOCKS:
30750 enterOuterAlt(_localctx, 11);
30751 {
30752 setState(4316);
30753 match(ALLOW_ROW_LOCKS);
30754 setState(4317);
30755 match(EQ_);
30756 setState(4318);
30757 _la = _input.LA(1);
30758 if ( !(_la==ON || _la==OFF) ) {
30759 _errHandler.recoverInline(this);
30760 }
30761 else {
30762 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30763 _errHandler.reportMatch(this);
30764 consume();
30765 }
30766 }
30767 break;
30768 case ALLOW_PAGE_LOCKS:
30769 enterOuterAlt(_localctx, 12);
30770 {
30771 setState(4319);
30772 match(ALLOW_PAGE_LOCKS);
30773 setState(4320);
30774 match(EQ_);
30775 setState(4321);
30776 _la = _input.LA(1);
30777 if ( !(_la==ON || _la==OFF) ) {
30778 _errHandler.recoverInline(this);
30779 }
30780 else {
30781 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30782 _errHandler.reportMatch(this);
30783 consume();
30784 }
30785 }
30786 break;
30787 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
30788 enterOuterAlt(_localctx, 13);
30789 {
30790 setState(4322);
30791 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
30792 setState(4323);
30793 match(EQ_);
30794 setState(4324);
30795 _la = _input.LA(1);
30796 if ( !(_la==ON || _la==OFF) ) {
30797 _errHandler.recoverInline(this);
30798 }
30799 else {
30800 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30801 _errHandler.reportMatch(this);
30802 consume();
30803 }
30804 }
30805 break;
30806 case MAXDOP:
30807 enterOuterAlt(_localctx, 14);
30808 {
30809 setState(4325);
30810 match(MAXDOP);
30811 setState(4326);
30812 match(EQ_);
30813 setState(4327);
30814 expr(0);
30815 }
30816 break;
30817 case DATA_COMPRESSION:
30818 enterOuterAlt(_localctx, 15);
30819 {
30820 setState(4328);
30821 match(DATA_COMPRESSION);
30822 setState(4329);
30823 match(EQ_);
30824 setState(4330);
30825 _la = _input.LA(1);
30826 if ( !(((((_la - 241)) & ~0x3f) == 0 && ((1L << (_la - 241)) & ((1L << (ROW - 241)) | (1L << (COLUMNSTORE - 241)) | (1L << (NONE - 241)) | (1L << (PAGE - 241)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
30827 _errHandler.recoverInline(this);
30828 }
30829 else {
30830 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30831 _errHandler.reportMatch(this);
30832 consume();
30833 }
30834 setState(4342);
30835 _errHandler.sync(this);
30836 _la = _input.LA(1);
30837 if (_la==ON) {
30838 {
30839 setState(4331);
30840 match(ON);
30841 setState(4332);
30842 match(PARTITIONS);
30843 setState(4333);
30844 match(LP_);
30845 setState(4334);
30846 partitionNumberRange();
30847 setState(4339);
30848 _errHandler.sync(this);
30849 _alt = getInterpreter().adaptivePredict(_input,466,_ctx);
30850 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
30851 if ( _alt==1 ) {
30852 {
30853 {
30854 setState(4335);
30855 match(COMMA_);
30856 setState(4336);
30857 partitionNumberRange();
30858 }
30859 }
30860 }
30861 setState(4341);
30862 _errHandler.sync(this);
30863 _alt = getInterpreter().adaptivePredict(_input,466,_ctx);
30864 }
30865 }
30866 }
30867
30868 }
30869 break;
30870 default:
30871 throw new NoViableAltException(this);
30872 }
30873 }
30874 catch (RecognitionException re) {
30875 _localctx.exception = re;
30876 _errHandler.reportError(this, re);
30877 _errHandler.recover(this, re);
30878 }
30879 finally {
30880 exitRule();
30881 }
30882 return _localctx;
30883 }
30884
30885 public static class PartitionNumberRangeContext extends ParserRuleContext {
30886 public List<ExprContext> expr() {
30887 return getRuleContexts(ExprContext.class);
30888 }
30889 public ExprContext expr(int i) {
30890 return getRuleContext(ExprContext.class,i);
30891 }
30892 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
30893 public PartitionNumberRangeContext(ParserRuleContext parent, int invokingState) {
30894 super(parent, invokingState);
30895 }
30896 @Override public int getRuleIndex() { return RULE_partitionNumberRange; }
30897 @Override
30898 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30899 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionNumberRange(this);
30900 else return visitor.visitChildren(this);
30901 }
30902 }
30903
30904 public final PartitionNumberRangeContext partitionNumberRange() throws RecognitionException {
30905 PartitionNumberRangeContext _localctx = new PartitionNumberRangeContext(_ctx, getState());
30906 enterRule(_localctx, 604, RULE_partitionNumberRange);
30907 int _la;
30908 try {
30909 enterOuterAlt(_localctx, 1);
30910 {
30911 setState(4346);
30912 expr(0);
30913 setState(4349);
30914 _errHandler.sync(this);
30915 _la = _input.LA(1);
30916 if (_la==TO) {
30917 {
30918 setState(4347);
30919 match(TO);
30920 setState(4348);
30921 expr(0);
30922 }
30923 }
30924
30925 }
30926 }
30927 catch (RecognitionException re) {
30928 _localctx.exception = re;
30929 _errHandler.reportError(this, re);
30930 _errHandler.recover(this, re);
30931 }
30932 finally {
30933 exitRule();
30934 }
30935 return _localctx;
30936 }
30937
30938 public static class ReorganizeOptionContext extends ParserRuleContext {
30939 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
30940 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30941 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
30942 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
30943 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
30944 public ReorganizeOptionContext(ParserRuleContext parent, int invokingState) {
30945 super(parent, invokingState);
30946 }
30947 @Override public int getRuleIndex() { return RULE_reorganizeOption; }
30948 @Override
30949 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30950 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitReorganizeOption(this);
30951 else return visitor.visitChildren(this);
30952 }
30953 }
30954
30955 public final ReorganizeOptionContext reorganizeOption() throws RecognitionException {
30956 ReorganizeOptionContext _localctx = new ReorganizeOptionContext(_ctx, getState());
30957 enterRule(_localctx, 606, RULE_reorganizeOption);
30958 int _la;
30959 try {
30960 setState(4357);
30961 _errHandler.sync(this);
30962 switch (_input.LA(1)) {
30963 case LOB_COMPACTION:
30964 enterOuterAlt(_localctx, 1);
30965 {
30966 setState(4351);
30967 match(LOB_COMPACTION);
30968 setState(4352);
30969 match(EQ_);
30970 setState(4353);
30971 _la = _input.LA(1);
30972 if ( !(_la==ON || _la==OFF) ) {
30973 _errHandler.recoverInline(this);
30974 }
30975 else {
30976 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30977 _errHandler.reportMatch(this);
30978 consume();
30979 }
30980 }
30981 break;
30982 case COMPRESS_ALL_ROW_GROUPS:
30983 enterOuterAlt(_localctx, 2);
30984 {
30985 setState(4354);
30986 match(COMPRESS_ALL_ROW_GROUPS);
30987 setState(4355);
30988 match(EQ_);
30989 setState(4356);
30990 _la = _input.LA(1);
30991 if ( !(_la==ON || _la==OFF) ) {
30992 _errHandler.recoverInline(this);
30993 }
30994 else {
30995 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30996 _errHandler.reportMatch(this);
30997 consume();
30998 }
30999 }
31000 break;
31001 default:
31002 throw new NoViableAltException(this);
31003 }
31004 }
31005 catch (RecognitionException re) {
31006 _localctx.exception = re;
31007 _errHandler.reportError(this, re);
31008 _errHandler.recover(this, re);
31009 }
31010 finally {
31011 exitRule();
31012 }
31013 return _localctx;
31014 }
31015
31016 public static class SetIndexOptionContext extends ParserRuleContext {
31017 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
31018 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31019 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31020 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31021 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
31022 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
31023 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
31024 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
31025 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
31026 public ExprContext expr() {
31027 return getRuleContext(ExprContext.class,0);
31028 }
31029 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
31030 public SetIndexOptionContext(ParserRuleContext parent, int invokingState) {
31031 super(parent, invokingState);
31032 }
31033 @Override public int getRuleIndex() { return RULE_setIndexOption; }
31034 @Override
31035 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31036 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetIndexOption(this);
31037 else return visitor.visitChildren(this);
31038 }
31039 }
31040
31041 public final SetIndexOptionContext setIndexOption() throws RecognitionException {
31042 SetIndexOptionContext _localctx = new SetIndexOptionContext(_ctx, getState());
31043 enterRule(_localctx, 608, RULE_setIndexOption);
31044 int _la;
31045 try {
31046 setState(4380);
31047 _errHandler.sync(this);
31048 switch (_input.LA(1)) {
31049 case ALLOW_ROW_LOCKS:
31050 enterOuterAlt(_localctx, 1);
31051 {
31052 setState(4359);
31053 match(ALLOW_ROW_LOCKS);
31054 setState(4360);
31055 match(EQ_);
31056 setState(4361);
31057 _la = _input.LA(1);
31058 if ( !(_la==ON || _la==OFF) ) {
31059 _errHandler.recoverInline(this);
31060 }
31061 else {
31062 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31063 _errHandler.reportMatch(this);
31064 consume();
31065 }
31066 }
31067 break;
31068 case ALLOW_PAGE_LOCKS:
31069 enterOuterAlt(_localctx, 2);
31070 {
31071 setState(4362);
31072 match(ALLOW_PAGE_LOCKS);
31073 setState(4363);
31074 match(EQ_);
31075 setState(4364);
31076 _la = _input.LA(1);
31077 if ( !(_la==ON || _la==OFF) ) {
31078 _errHandler.recoverInline(this);
31079 }
31080 else {
31081 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31082 _errHandler.reportMatch(this);
31083 consume();
31084 }
31085 }
31086 break;
31087 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
31088 enterOuterAlt(_localctx, 3);
31089 {
31090 setState(4365);
31091 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
31092 setState(4366);
31093 match(EQ_);
31094 setState(4367);
31095 _la = _input.LA(1);
31096 if ( !(_la==ON || _la==OFF) ) {
31097 _errHandler.recoverInline(this);
31098 }
31099 else {
31100 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31101 _errHandler.reportMatch(this);
31102 consume();
31103 }
31104 }
31105 break;
31106 case IGNORE_DUP_KEY:
31107 enterOuterAlt(_localctx, 4);
31108 {
31109 setState(4368);
31110 match(IGNORE_DUP_KEY);
31111 setState(4369);
31112 match(EQ_);
31113 setState(4370);
31114 _la = _input.LA(1);
31115 if ( !(_la==ON || _la==OFF) ) {
31116 _errHandler.recoverInline(this);
31117 }
31118 else {
31119 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31120 _errHandler.reportMatch(this);
31121 consume();
31122 }
31123 }
31124 break;
31125 case STATISTICS_NORECOMPUTE:
31126 enterOuterAlt(_localctx, 5);
31127 {
31128 setState(4371);
31129 match(STATISTICS_NORECOMPUTE);
31130 setState(4372);
31131 match(EQ_);
31132 setState(4373);
31133 _la = _input.LA(1);
31134 if ( !(_la==ON || _la==OFF) ) {
31135 _errHandler.recoverInline(this);
31136 }
31137 else {
31138 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31139 _errHandler.reportMatch(this);
31140 consume();
31141 }
31142 }
31143 break;
31144 case COMPRESSION_DELAY:
31145 enterOuterAlt(_localctx, 6);
31146 {
31147 setState(4374);
31148 match(COMPRESSION_DELAY);
31149 setState(4375);
31150 match(EQ_);
31151 {
31152 setState(4376);
31153 expr(0);
31154 setState(4378);
31155 _errHandler.sync(this);
31156 _la = _input.LA(1);
31157 if (_la==MINUTES) {
31158 {
31159 setState(4377);
31160 match(MINUTES);
31161 }
31162 }
31163
31164 }
31165 }
31166 break;
31167 default:
31168 throw new NoViableAltException(this);
31169 }
31170 }
31171 catch (RecognitionException re) {
31172 _localctx.exception = re;
31173 _errHandler.reportError(this, re);
31174 _errHandler.recover(this, re);
31175 }
31176 finally {
31177 exitRule();
31178 }
31179 return _localctx;
31180 }
31181
31182 public static class ResumableIndexOptionsContext extends ParserRuleContext {
31183 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
31184 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31185 public ExprContext expr() {
31186 return getRuleContext(ExprContext.class,0);
31187 }
31188 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
31189 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
31190 public LowPriorityLockWaitContext lowPriorityLockWait() {
31191 return getRuleContext(LowPriorityLockWaitContext.class,0);
31192 }
31193 public ResumableIndexOptionsContext(ParserRuleContext parent, int invokingState) {
31194 super(parent, invokingState);
31195 }
31196 @Override public int getRuleIndex() { return RULE_resumableIndexOptions; }
31197 @Override
31198 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31199 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitResumableIndexOptions(this);
31200 else return visitor.visitChildren(this);
31201 }
31202 }
31203
31204 public final ResumableIndexOptionsContext resumableIndexOptions() throws RecognitionException {
31205 ResumableIndexOptionsContext _localctx = new ResumableIndexOptionsContext(_ctx, getState());
31206 enterRule(_localctx, 610, RULE_resumableIndexOptions);
31207 int _la;
31208 try {
31209 setState(4392);
31210 _errHandler.sync(this);
31211 switch (_input.LA(1)) {
31212 case MAXDOP:
31213 enterOuterAlt(_localctx, 1);
31214 {
31215 setState(4382);
31216 match(MAXDOP);
31217 setState(4383);
31218 match(EQ_);
31219 setState(4384);
31220 expr(0);
31221 }
31222 break;
31223 case MAX_DURATION:
31224 enterOuterAlt(_localctx, 2);
31225 {
31226 setState(4385);
31227 match(MAX_DURATION);
31228 setState(4386);
31229 match(EQ_);
31230 setState(4387);
31231 expr(0);
31232 setState(4389);
31233 _errHandler.sync(this);
31234 _la = _input.LA(1);
31235 if (_la==MINUTES) {
31236 {
31237 setState(4388);
31238 match(MINUTES);
31239 }
31240 }
31241
31242 }
31243 break;
31244 case WAIT_AT_LOW_PRIORITY:
31245 enterOuterAlt(_localctx, 3);
31246 {
31247 setState(4391);
31248 lowPriorityLockWait();
31249 }
31250 break;
31251 default:
31252 throw new NoViableAltException(this);
31253 }
31254 }
31255 catch (RecognitionException re) {
31256 _localctx.exception = re;
31257 _errHandler.reportError(this, re);
31258 _errHandler.recover(this, re);
31259 }
31260 finally {
31261 exitRule();
31262 }
31263 return _localctx;
31264 }
31265
31266 public static class AlterDatabaseClauseContext extends ParserRuleContext {
31267 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
31268 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
31269 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31270 public DatabaseNameContext databaseName() {
31271 return getRuleContext(DatabaseNameContext.class,0);
31272 }
31273 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
31274 public IgnoredIdentifierContext ignoredIdentifier() {
31275 return getRuleContext(IgnoredIdentifierContext.class,0);
31276 }
31277 public FileAndFilegroupOptionsContext fileAndFilegroupOptions() {
31278 return getRuleContext(FileAndFilegroupOptionsContext.class,0);
31279 }
31280 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
31281 public List<AlterDatabaseOptionSpecContext> alterDatabaseOptionSpec() {
31282 return getRuleContexts(AlterDatabaseOptionSpecContext.class);
31283 }
31284 public AlterDatabaseOptionSpecContext alterDatabaseOptionSpec(int i) {
31285 return getRuleContext(AlterDatabaseOptionSpecContext.class,i);
31286 }
31287 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
31288 public TerminalNode COMMA_(int i) {
31289 return getToken(SQLServerStatementParser.COMMA_, i);
31290 }
31291 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
31292 public TerminationContext termination() {
31293 return getRuleContext(TerminationContext.class,0);
31294 }
31295 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31296 public List<EditionOptionsContext> editionOptions() {
31297 return getRuleContexts(EditionOptionsContext.class);
31298 }
31299 public EditionOptionsContext editionOptions(int i) {
31300 return getRuleContext(EditionOptionsContext.class,i);
31301 }
31302 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31303 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
31304 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
31305 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
31306 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
31307 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31308 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
31309 public List<AddSecondaryOptionContext> addSecondaryOption() {
31310 return getRuleContexts(AddSecondaryOptionContext.class);
31311 }
31312 public AddSecondaryOptionContext addSecondaryOption(int i) {
31313 return getRuleContext(AddSecondaryOptionContext.class,i);
31314 }
31315 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
31316 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
31317 public AlterDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
31318 super(parent, invokingState);
31319 }
31320 @Override public int getRuleIndex() { return RULE_alterDatabaseClause; }
31321 @Override
31322 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31323 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseClause(this);
31324 else return visitor.visitChildren(this);
31325 }
31326 }
31327
31328 public final AlterDatabaseClauseContext alterDatabaseClause() throws RecognitionException {
31329 AlterDatabaseClauseContext _localctx = new AlterDatabaseClauseContext(_ctx, getState());
31330 enterRule(_localctx, 612, RULE_alterDatabaseClause);
31331 int _la;
31332 try {
31333 setState(4448);
31334 _errHandler.sync(this);
31335 switch ( getInterpreter().adaptivePredict(_input,480,_ctx) ) {
31336 case 1:
31337 enterOuterAlt(_localctx, 1);
31338 {
31339 setState(4394);
31340 match(MODIFY);
31341 setState(4395);
31342 match(NAME);
31343 setState(4396);
31344 match(EQ_);
31345 setState(4397);
31346 databaseName();
31347 }
31348 break;
31349 case 2:
31350 enterOuterAlt(_localctx, 2);
31351 {
31352 setState(4398);
31353 match(COLLATE);
31354 setState(4399);
31355 ignoredIdentifier();
31356 }
31357 break;
31358 case 3:
31359 enterOuterAlt(_localctx, 3);
31360 {
31361 setState(4400);
31362 fileAndFilegroupOptions();
31363 }
31364 break;
31365 case 4:
31366 enterOuterAlt(_localctx, 4);
31367 {
31368 setState(4401);
31369 match(SET);
31370 setState(4402);
31371 alterDatabaseOptionSpec();
31372 setState(4407);
31373 _errHandler.sync(this);
31374 _la = _input.LA(1);
31375 while (_la==COMMA_) {
31376 {
31377 {
31378 setState(4403);
31379 match(COMMA_);
31380 setState(4404);
31381 alterDatabaseOptionSpec();
31382 }
31383 }
31384 setState(4409);
31385 _errHandler.sync(this);
31386 _la = _input.LA(1);
31387 }
31388 setState(4412);
31389 _errHandler.sync(this);
31390 _la = _input.LA(1);
31391 if (_la==WITH) {
31392 {
31393 setState(4410);
31394 match(WITH);
31395 setState(4411);
31396 termination();
31397 }
31398 }
31399
31400 }
31401 break;
31402 case 5:
31403 enterOuterAlt(_localctx, 5);
31404 {
31405 setState(4414);
31406 match(MODIFY);
31407 setState(4415);
31408 match(LP_);
31409 setState(4416);
31410 editionOptions();
31411 setState(4421);
31412 _errHandler.sync(this);
31413 _la = _input.LA(1);
31414 while (_la==COMMA_) {
31415 {
31416 {
31417 setState(4417);
31418 match(COMMA_);
31419 setState(4418);
31420 editionOptions();
31421 }
31422 }
31423 setState(4423);
31424 _errHandler.sync(this);
31425 _la = _input.LA(1);
31426 }
31427 setState(4424);
31428 match(RP_);
31429 }
31430 break;
31431 case 6:
31432 enterOuterAlt(_localctx, 6);
31433 {
31434 setState(4426);
31435 match(MODIFY);
31436 setState(4427);
31437 match(BACKUP_STORAGE_REDUNDANCY);
31438 setState(4428);
31439 match(EQ_);
31440 setState(4429);
31441 match(STRING_);
31442 }
31443 break;
31444 case 7:
31445 enterOuterAlt(_localctx, 7);
31446 {
31447 setState(4430);
31448 match(ADD);
31449 setState(4431);
31450 match(SECONDARY);
31451 setState(4432);
31452 match(ON);
31453 setState(4433);
31454 match(SERVER);
31455 setState(4434);
31456 ignoredIdentifier();
31457 setState(4444);
31458 _errHandler.sync(this);
31459 _la = _input.LA(1);
31460 if (_la==WITH) {
31461 {
31462 setState(4435);
31463 match(WITH);
31464 setState(4436);
31465 addSecondaryOption();
31466 setState(4441);
31467 _errHandler.sync(this);
31468 _la = _input.LA(1);
31469 while (_la==COMMA_) {
31470 {
31471 {
31472 setState(4437);
31473 match(COMMA_);
31474 setState(4438);
31475 addSecondaryOption();
31476 }
31477 }
31478 setState(4443);
31479 _errHandler.sync(this);
31480 _la = _input.LA(1);
31481 }
31482 }
31483 }
31484
31485 }
31486 break;
31487 case 8:
31488 enterOuterAlt(_localctx, 8);
31489 {
31490 setState(4446);
31491 match(FAILOVER);
31492 }
31493 break;
31494 case 9:
31495 enterOuterAlt(_localctx, 9);
31496 {
31497 setState(4447);
31498 match(FORCE_FAILOVER_ALLOW_DATA_LOSS);
31499 }
31500 break;
31501 }
31502 }
31503 catch (RecognitionException re) {
31504 _localctx.exception = re;
31505 _errHandler.reportError(this, re);
31506 _errHandler.recover(this, re);
31507 }
31508 finally {
31509 exitRule();
31510 }
31511 return _localctx;
31512 }
31513
31514 public static class AddSecondaryOptionContext extends ParserRuleContext {
31515 public Token SECONDARY_TYPE;
31516 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
31517 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
31518 public TerminalNode EQ_(int i) {
31519 return getToken(SQLServerStatementParser.EQ_, i);
31520 }
31521 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
31522 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
31523 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
31524 public ServiceObjectiveContext serviceObjective() {
31525 return getRuleContext(ServiceObjectiveContext.class,0);
31526 }
31527 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
31528 public DatabaseNameContext databaseName() {
31529 return getRuleContext(DatabaseNameContext.class,0);
31530 }
31531 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
31532 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
31533 public AddSecondaryOptionContext(ParserRuleContext parent, int invokingState) {
31534 super(parent, invokingState);
31535 }
31536 @Override public int getRuleIndex() { return RULE_addSecondaryOption; }
31537 @Override
31538 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31539 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddSecondaryOption(this);
31540 else return visitor.visitChildren(this);
31541 }
31542 }
31543
31544 public final AddSecondaryOptionContext addSecondaryOption() throws RecognitionException {
31545 AddSecondaryOptionContext _localctx = new AddSecondaryOptionContext(_ctx, getState());
31546 enterRule(_localctx, 614, RULE_addSecondaryOption);
31547 int _la;
31548 try {
31549 setState(4462);
31550 _errHandler.sync(this);
31551 switch (_input.LA(1)) {
31552 case ALLOW_CONNECTIONS:
31553 enterOuterAlt(_localctx, 1);
31554 {
31555 setState(4450);
31556 match(ALLOW_CONNECTIONS);
31557 setState(4451);
31558 match(EQ_);
31559 setState(4452);
31560 _la = _input.LA(1);
31561 if ( !(_la==ALL || _la==NO) ) {
31562 _errHandler.recoverInline(this);
31563 }
31564 else {
31565 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31566 _errHandler.reportMatch(this);
31567 consume();
31568 }
31569 }
31570 break;
31571 case SERVICE_OBJECTIVE:
31572 enterOuterAlt(_localctx, 2);
31573 {
31574 setState(4453);
31575 match(SERVICE_OBJECTIVE);
31576 setState(4454);
31577 match(EQ_);
31578 setState(4460);
31579 _errHandler.sync(this);
31580 switch (_input.LA(1)) {
31581 case ELASTIC_POOL:
31582 case STRING_:
31583 {
31584 setState(4455);
31585 serviceObjective();
31586 }
31587 break;
31588 case DATABASE_NAME:
31589 {
31590 setState(4456);
31591 match(DATABASE_NAME);
31592 setState(4457);
31593 match(EQ_);
31594 setState(4458);
31595 databaseName();
31596 }
31597 break;
31598 case GEO:
31599 case NAMED:
31600 {
31601 setState(4459);
31602 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = _input.LT(1);
31603 _la = _input.LA(1);
31604 if ( !(_la==GEO || _la==NAMED) ) {
31605 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = (Token)_errHandler.recoverInline(this);
31606 }
31607 else {
31608 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31609 _errHandler.reportMatch(this);
31610 consume();
31611 }
31612 }
31613 break;
31614 default:
31615 throw new NoViableAltException(this);
31616 }
31617 }
31618 break;
31619 default:
31620 throw new NoViableAltException(this);
31621 }
31622 }
31623 catch (RecognitionException re) {
31624 _localctx.exception = re;
31625 _errHandler.reportError(this, re);
31626 _errHandler.recover(this, re);
31627 }
31628 finally {
31629 exitRule();
31630 }
31631 return _localctx;
31632 }
31633
31634 public static class EditionOptionsContext extends ParserRuleContext {
31635 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
31636 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31637 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
31638 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
31639 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
31640 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
31641 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
31642 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
31643 public ServiceObjectiveContext serviceObjective() {
31644 return getRuleContext(ServiceObjectiveContext.class,0);
31645 }
31646 public EditionOptionsContext(ParserRuleContext parent, int invokingState) {
31647 super(parent, invokingState);
31648 }
31649 @Override public int getRuleIndex() { return RULE_editionOptions; }
31650 @Override
31651 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31652 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEditionOptions(this);
31653 else return visitor.visitChildren(this);
31654 }
31655 }
31656
31657 public final EditionOptionsContext editionOptions() throws RecognitionException {
31658 EditionOptionsContext _localctx = new EditionOptionsContext(_ctx, getState());
31659 enterRule(_localctx, 616, RULE_editionOptions);
31660 int _la;
31661 try {
31662 setState(4477);
31663 _errHandler.sync(this);
31664 switch (_input.LA(1)) {
31665 case MAXSIZE:
31666 enterOuterAlt(_localctx, 1);
31667 {
31668 setState(4464);
31669 match(MAXSIZE);
31670 setState(4465);
31671 match(EQ_);
31672 setState(4466);
31673 match(NUMBER_);
31674 setState(4467);
31675 _la = _input.LA(1);
31676 if ( !(_la==MB || _la==GB) ) {
31677 _errHandler.recoverInline(this);
31678 }
31679 else {
31680 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31681 _errHandler.reportMatch(this);
31682 consume();
31683 }
31684 }
31685 break;
31686 case EDITION:
31687 enterOuterAlt(_localctx, 2);
31688 {
31689 setState(4468);
31690 match(EDITION);
31691 setState(4469);
31692 match(EQ_);
31693 setState(4470);
31694 match(STRING_);
31695 }
31696 break;
31697 case SERVICE_OBJECTIVE:
31698 enterOuterAlt(_localctx, 3);
31699 {
31700 setState(4471);
31701 match(SERVICE_OBJECTIVE);
31702 setState(4472);
31703 match(EQ_);
31704 setState(4475);
31705 _errHandler.sync(this);
31706 switch ( getInterpreter().adaptivePredict(_input,483,_ctx) ) {
31707 case 1:
31708 {
31709 setState(4473);
31710 match(STRING_);
31711 }
31712 break;
31713 case 2:
31714 {
31715 setState(4474);
31716 serviceObjective();
31717 }
31718 break;
31719 }
31720 }
31721 break;
31722 default:
31723 throw new NoViableAltException(this);
31724 }
31725 }
31726 catch (RecognitionException re) {
31727 _localctx.exception = re;
31728 _errHandler.reportError(this, re);
31729 _errHandler.recover(this, re);
31730 }
31731 finally {
31732 exitRule();
31733 }
31734 return _localctx;
31735 }
31736
31737 public static class ServiceObjectiveContext extends ParserRuleContext {
31738 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
31739 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
31740 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31741 public IgnoredIdentifierContext ignoredIdentifier() {
31742 return getRuleContext(IgnoredIdentifierContext.class,0);
31743 }
31744 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31745 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31746 public ServiceObjectiveContext(ParserRuleContext parent, int invokingState) {
31747 super(parent, invokingState);
31748 }
31749 @Override public int getRuleIndex() { return RULE_serviceObjective; }
31750 @Override
31751 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31752 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceObjective(this);
31753 else return visitor.visitChildren(this);
31754 }
31755 }
31756
31757 public final ServiceObjectiveContext serviceObjective() throws RecognitionException {
31758 ServiceObjectiveContext _localctx = new ServiceObjectiveContext(_ctx, getState());
31759 enterRule(_localctx, 618, RULE_serviceObjective);
31760 try {
31761 setState(4487);
31762 _errHandler.sync(this);
31763 switch (_input.LA(1)) {
31764 case STRING_:
31765 enterOuterAlt(_localctx, 1);
31766 {
31767 setState(4479);
31768 match(STRING_);
31769 }
31770 break;
31771 case ELASTIC_POOL:
31772 enterOuterAlt(_localctx, 2);
31773 {
31774 setState(4480);
31775 match(ELASTIC_POOL);
31776 setState(4481);
31777 match(LP_);
31778 setState(4482);
31779 ignoredIdentifier();
31780 setState(4483);
31781 match(EQ_);
31782 setState(4484);
31783 match(STRING_);
31784 setState(4485);
31785 match(RP_);
31786 }
31787 break;
31788 default:
31789 throw new NoViableAltException(this);
31790 }
31791 }
31792 catch (RecognitionException re) {
31793 _localctx.exception = re;
31794 _errHandler.reportError(this, re);
31795 _errHandler.recover(this, re);
31796 }
31797 finally {
31798 exitRule();
31799 }
31800 return _localctx;
31801 }
31802
31803 public static class AlterDatabaseOptionSpecContext extends ParserRuleContext {
31804 public AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() {
31805 return getRuleContext(AcceleratedDatabaseRecoveryContext.class,0);
31806 }
31807 public AutoOptionContext autoOption() {
31808 return getRuleContext(AutoOptionContext.class,0);
31809 }
31810 public AutomaticTuningOptionContext automaticTuningOption() {
31811 return getRuleContext(AutomaticTuningOptionContext.class,0);
31812 }
31813 public ChangeTrackingOptionContext changeTrackingOption() {
31814 return getRuleContext(ChangeTrackingOptionContext.class,0);
31815 }
31816 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
31817 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31818 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
31819 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
31820 public CursorOptionContext cursorOption() {
31821 return getRuleContext(CursorOptionContext.class,0);
31822 }
31823 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
31824 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31825 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31826 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
31827 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
31828 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
31829 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
31830 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
31831 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
31832 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
31833 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
31834 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
31835 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
31836 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
31837 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
31838 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
31839 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
31840 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
31841 public ExternalAccessOptionContext externalAccessOption() {
31842 return getRuleContext(ExternalAccessOptionContext.class,0);
31843 }
31844 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
31845 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31846 public FileStreamOptionContext fileStreamOption() {
31847 return getRuleContext(FileStreamOptionContext.class,0);
31848 }
31849 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31850 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
31851 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
31852 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
31853 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
31854 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
31855 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
31856 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
31857 public QueryStoreOptionsContext queryStoreOptions() {
31858 return getRuleContext(QueryStoreOptionsContext.class,0);
31859 }
31860 public RecoveryOptionContext recoveryOption() {
31861 return getRuleContext(RecoveryOptionContext.class,0);
31862 }
31863 public ServiceBrokerOptionContext serviceBrokerOption() {
31864 return getRuleContext(ServiceBrokerOptionContext.class,0);
31865 }
31866 public SnapshotOptionContext snapshotOption() {
31867 return getRuleContext(SnapshotOptionContext.class,0);
31868 }
31869 public SqlOptionContext sqlOption() {
31870 return getRuleContext(SqlOptionContext.class,0);
31871 }
31872 public TargetRecoveryTimeOptionContext targetRecoveryTimeOption() {
31873 return getRuleContext(TargetRecoveryTimeOptionContext.class,0);
31874 }
31875 public TerminationContext termination() {
31876 return getRuleContext(TerminationContext.class,0);
31877 }
31878 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
31879 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
31880 public AlterDatabaseOptionSpecContext(ParserRuleContext parent, int invokingState) {
31881 super(parent, invokingState);
31882 }
31883 @Override public int getRuleIndex() { return RULE_alterDatabaseOptionSpec; }
31884 @Override
31885 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31886 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseOptionSpec(this);
31887 else return visitor.visitChildren(this);
31888 }
31889 }
31890
31891 public final AlterDatabaseOptionSpecContext alterDatabaseOptionSpec() throws RecognitionException {
31892 AlterDatabaseOptionSpecContext _localctx = new AlterDatabaseOptionSpecContext(_ctx, getState());
31893 enterRule(_localctx, 620, RULE_alterDatabaseOptionSpec);
31894 int _la;
31895 try {
31896 setState(4532);
31897 _errHandler.sync(this);
31898 switch (_input.LA(1)) {
31899 case ACCELERATED_DATABASE_RECOVERY:
31900 enterOuterAlt(_localctx, 1);
31901 {
31902 setState(4489);
31903 acceleratedDatabaseRecovery();
31904 }
31905 break;
31906 case AUTO_UPDATE_STATISTICS_ASYNC:
31907 case AUTO_UPDATE_STATISTICS:
31908 case AUTO_SHRINK:
31909 case AUTO_CREATE_STATISTICS:
31910 case AUTO_CLOSE:
31911 enterOuterAlt(_localctx, 2);
31912 {
31913 setState(4490);
31914 autoOption();
31915 }
31916 break;
31917 case AUTOMATIC_TUNING:
31918 enterOuterAlt(_localctx, 3);
31919 {
31920 setState(4491);
31921 automaticTuningOption();
31922 }
31923 break;
31924 case CHANGE_TRACKING:
31925 enterOuterAlt(_localctx, 4);
31926 {
31927 setState(4492);
31928 changeTrackingOption();
31929 }
31930 break;
31931 case CONTAINMENT:
31932 enterOuterAlt(_localctx, 5);
31933 {
31934 setState(4493);
31935 match(CONTAINMENT);
31936 setState(4494);
31937 match(EQ_);
31938 setState(4495);
31939 _la = _input.LA(1);
31940 if ( !(_la==NONE || _la==PARTIAL) ) {
31941 _errHandler.recoverInline(this);
31942 }
31943 else {
31944 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31945 _errHandler.reportMatch(this);
31946 consume();
31947 }
31948 }
31949 break;
31950 case CURSOR_DEFAULT:
31951 case CURSOR_CLOSE_ON_COMMIT:
31952 enterOuterAlt(_localctx, 6);
31953 {
31954 setState(4496);
31955 cursorOption();
31956 }
31957 break;
31958 case DATE_CORRELATION_OPTIMIZATION:
31959 enterOuterAlt(_localctx, 7);
31960 {
31961 setState(4497);
31962 match(DATE_CORRELATION_OPTIMIZATION);
31963 setState(4498);
31964 _la = _input.LA(1);
31965 if ( !(_la==ON || _la==OFF) ) {
31966 _errHandler.recoverInline(this);
31967 }
31968 else {
31969 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31970 _errHandler.reportMatch(this);
31971 consume();
31972 }
31973 }
31974 break;
31975 case ENCRYPTION:
31976 enterOuterAlt(_localctx, 8);
31977 {
31978 setState(4499);
31979 match(ENCRYPTION);
31980 setState(4500);
31981 _la = _input.LA(1);
31982 if ( !(_la==ON || _la==OFF || _la==RESUME || _la==SUSPEND) ) {
31983 _errHandler.recoverInline(this);
31984 }
31985 else {
31986 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31987 _errHandler.reportMatch(this);
31988 consume();
31989 }
31990 }
31991 break;
31992 case ONLINE:
31993 case OFFLINE:
31994 case EMERGENCY:
31995 enterOuterAlt(_localctx, 9);
31996 {
31997 setState(4501);
31998 _la = _input.LA(1);
31999 if ( !(_la==ONLINE || _la==OFFLINE || _la==EMERGENCY) ) {
32000 _errHandler.recoverInline(this);
32001 }
32002 else {
32003 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32004 _errHandler.reportMatch(this);
32005 consume();
32006 }
32007 }
32008 break;
32009 case READ_ONLY:
32010 case READ_WRITE:
32011 enterOuterAlt(_localctx, 10);
32012 {
32013 setState(4502);
32014 _la = _input.LA(1);
32015 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
32016 _errHandler.recoverInline(this);
32017 }
32018 else {
32019 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32020 _errHandler.reportMatch(this);
32021 consume();
32022 }
32023 }
32024 break;
32025 case MULTI_USER:
32026 case RESTRICTED_USER:
32027 case SINGLE_USER:
32028 enterOuterAlt(_localctx, 11);
32029 {
32030 setState(4503);
32031 _la = _input.LA(1);
32032 if ( !(((((_la - 631)) & ~0x3f) == 0 && ((1L << (_la - 631)) & ((1L << (MULTI_USER - 631)) | (1L << (RESTRICTED_USER - 631)) | (1L << (SINGLE_USER - 631)))) != 0)) ) {
32033 _errHandler.recoverInline(this);
32034 }
32035 else {
32036 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32037 _errHandler.reportMatch(this);
32038 consume();
32039 }
32040 }
32041 break;
32042 case DELAYED_DURABILITY:
32043 enterOuterAlt(_localctx, 12);
32044 {
32045 setState(4504);
32046 match(DELAYED_DURABILITY);
32047 setState(4505);
32048 match(EQ_);
32049 setState(4506);
32050 _la = _input.LA(1);
32051 if ( !(_la==FORCED || _la==DISABLED || _la==ALLOWED) ) {
32052 _errHandler.recoverInline(this);
32053 }
32054 else {
32055 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32056 _errHandler.reportMatch(this);
32057 consume();
32058 }
32059 }
32060 break;
32061 case DB_CHAINING:
32062 case TRUSTWORTHY:
32063 case DEFAULT_FULLTEXT_LANGUAGE:
32064 case DEFAULT_LANGUAGE:
32065 case NESTED_TRIGGERS:
32066 case TRANSFORM_NOISE_WORDS:
32067 case TWO_DIGIT_YEAR_CUTOFF:
32068 enterOuterAlt(_localctx, 13);
32069 {
32070 setState(4507);
32071 externalAccessOption();
32072 }
32073 break;
32074 case FILESTREAM:
32075 enterOuterAlt(_localctx, 14);
32076 {
32077 setState(4508);
32078 match(FILESTREAM);
32079 setState(4509);
32080 match(LP_);
32081 setState(4510);
32082 fileStreamOption();
32083 setState(4511);
32084 match(RP_);
32085 }
32086 break;
32087 case ALTER:
32088 enterOuterAlt(_localctx, 15);
32089 {
32090 setState(4513);
32091 match(ALTER);
32092 setState(4514);
32093 match(DATABASE);
32094 setState(4515);
32095 match(SET);
32096 setState(4516);
32097 match(HADR);
32098 }
32099 break;
32100 case MIXED_PAGE_ALLOCATION:
32101 enterOuterAlt(_localctx, 16);
32102 {
32103 setState(4517);
32104 match(MIXED_PAGE_ALLOCATION);
32105 setState(4518);
32106 _la = _input.LA(1);
32107 if ( !(_la==ON || _la==OFF) ) {
32108 _errHandler.recoverInline(this);
32109 }
32110 else {
32111 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32112 _errHandler.reportMatch(this);
32113 consume();
32114 }
32115 }
32116 break;
32117 case PARAMETERIZATION:
32118 enterOuterAlt(_localctx, 17);
32119 {
32120 setState(4519);
32121 match(PARAMETERIZATION);
32122 setState(4520);
32123 _la = _input.LA(1);
32124 if ( !(_la==SIMPLE || _la==FORCED) ) {
32125 _errHandler.recoverInline(this);
32126 }
32127 else {
32128 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32129 _errHandler.reportMatch(this);
32130 consume();
32131 }
32132 }
32133 break;
32134 case QUERY_STORE:
32135 enterOuterAlt(_localctx, 18);
32136 {
32137 setState(4521);
32138 queryStoreOptions();
32139 }
32140 break;
32141 case PAGE_VERIFY:
32142 case TORN_PAGE_DETECTION:
32143 case RECOVERY:
32144 enterOuterAlt(_localctx, 19);
32145 {
32146 setState(4522);
32147 recoveryOption();
32148 }
32149 break;
32150 case HONOR_BROKER_PRIORITY:
32151 case ERROR_BROKER_CONVERSATIONS:
32152 case NEW_BROKER:
32153 case DISABLE_BROKER:
32154 case ENABLE_BROKER:
32155 enterOuterAlt(_localctx, 20);
32156 {
32157 setState(4523);
32158 serviceBrokerOption();
32159 }
32160 break;
32161 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
32162 case READ_COMMITTED_SNAPSHOT:
32163 case ALLOW_SNAPSHOT_ISOLATION:
32164 enterOuterAlt(_localctx, 21);
32165 {
32166 setState(4524);
32167 snapshotOption();
32168 }
32169 break;
32170 case RECURSIVE_TRIGGERS:
32171 case QUOTED_IDENTIFIER:
32172 case NUMERIC_ROUNDABORT:
32173 case CONCAT_NULL_YIELDS_NULL:
32174 case COMPATIBILITY_LEVEL:
32175 case ARITHABORT:
32176 case ANSI_WARNINGS:
32177 case ANSI_PADDING:
32178 case ANSI_NULLS:
32179 case ANSI_NULL_DEFAULT:
32180 enterOuterAlt(_localctx, 22);
32181 {
32182 setState(4525);
32183 sqlOption();
32184 }
32185 break;
32186 case TARGET_RECOVERY_TIME:
32187 enterOuterAlt(_localctx, 23);
32188 {
32189 setState(4526);
32190 targetRecoveryTimeOption();
32191 }
32192 break;
32193 case ROLLBACK:
32194 case NO_WAIT:
32195 enterOuterAlt(_localctx, 24);
32196 {
32197 setState(4527);
32198 termination();
32199 }
32200 break;
32201 case TEMPORAL_HISTORY_RETENTION:
32202 enterOuterAlt(_localctx, 25);
32203 {
32204 setState(4528);
32205 match(TEMPORAL_HISTORY_RETENTION);
32206 setState(4529);
32207 _la = _input.LA(1);
32208 if ( !(_la==ON || _la==OFF) ) {
32209 _errHandler.recoverInline(this);
32210 }
32211 else {
32212 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32213 _errHandler.reportMatch(this);
32214 consume();
32215 }
32216 }
32217 break;
32218 case DATA_RETENTION:
32219 enterOuterAlt(_localctx, 26);
32220 {
32221 setState(4530);
32222 match(DATA_RETENTION);
32223 setState(4531);
32224 _la = _input.LA(1);
32225 if ( !(_la==ON || _la==OFF) ) {
32226 _errHandler.recoverInline(this);
32227 }
32228 else {
32229 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32230 _errHandler.reportMatch(this);
32231 consume();
32232 }
32233 }
32234 break;
32235 default:
32236 throw new NoViableAltException(this);
32237 }
32238 }
32239 catch (RecognitionException re) {
32240 _localctx.exception = re;
32241 _errHandler.reportError(this, re);
32242 _errHandler.recover(this, re);
32243 }
32244 finally {
32245 exitRule();
32246 }
32247 return _localctx;
32248 }
32249
32250 public static class FileAndFilegroupOptionsContext extends ParserRuleContext {
32251 public AddOrModifyFilesContext addOrModifyFiles() {
32252 return getRuleContext(AddOrModifyFilesContext.class,0);
32253 }
32254 public FileSpecContext fileSpec() {
32255 return getRuleContext(FileSpecContext.class,0);
32256 }
32257 public AddOrModifyFilegroupsContext addOrModifyFilegroups() {
32258 return getRuleContext(AddOrModifyFilegroupsContext.class,0);
32259 }
32260 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
32261 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
32262 }
32263 public FileAndFilegroupOptionsContext(ParserRuleContext parent, int invokingState) {
32264 super(parent, invokingState);
32265 }
32266 @Override public int getRuleIndex() { return RULE_fileAndFilegroupOptions; }
32267 @Override
32268 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32269 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileAndFilegroupOptions(this);
32270 else return visitor.visitChildren(this);
32271 }
32272 }
32273
32274 public final FileAndFilegroupOptionsContext fileAndFilegroupOptions() throws RecognitionException {
32275 FileAndFilegroupOptionsContext _localctx = new FileAndFilegroupOptionsContext(_ctx, getState());
32276 enterRule(_localctx, 622, RULE_fileAndFilegroupOptions);
32277 try {
32278 setState(4538);
32279 _errHandler.sync(this);
32280 switch ( getInterpreter().adaptivePredict(_input,487,_ctx) ) {
32281 case 1:
32282 enterOuterAlt(_localctx, 1);
32283 {
32284 setState(4534);
32285 addOrModifyFiles();
32286 }
32287 break;
32288 case 2:
32289 enterOuterAlt(_localctx, 2);
32290 {
32291 setState(4535);
32292 fileSpec();
32293 }
32294 break;
32295 case 3:
32296 enterOuterAlt(_localctx, 3);
32297 {
32298 setState(4536);
32299 addOrModifyFilegroups();
32300 }
32301 break;
32302 case 4:
32303 enterOuterAlt(_localctx, 4);
32304 {
32305 setState(4537);
32306 filegroupUpdatabilityOption();
32307 }
32308 break;
32309 }
32310 }
32311 catch (RecognitionException re) {
32312 _localctx.exception = re;
32313 _errHandler.reportError(this, re);
32314 _errHandler.recover(this, re);
32315 }
32316 finally {
32317 exitRule();
32318 }
32319 return _localctx;
32320 }
32321
32322 public static class AddOrModifyFilegroupsContext extends ParserRuleContext {
32323 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
32324 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
32325 public IgnoredIdentifierContext ignoredIdentifier() {
32326 return getRuleContext(IgnoredIdentifierContext.class,0);
32327 }
32328 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
32329 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
32330 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
32331 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
32332 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
32333 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
32334 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
32335 }
32336 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
32337 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
32338 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32339 public TerminalNode AUTOGROW_SINGLE_FILE() { return getToken(SQLServerStatementParser.AUTOGROW_SINGLE_FILE, 0); }
32340 public TerminalNode AUTOGROW_ALL_FILES() { return getToken(SQLServerStatementParser.AUTOGROW_ALL_FILES, 0); }
32341 public AddOrModifyFilegroupsContext(ParserRuleContext parent, int invokingState) {
32342 super(parent, invokingState);
32343 }
32344 @Override public int getRuleIndex() { return RULE_addOrModifyFilegroups; }
32345 @Override
32346 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32347 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFilegroups(this);
32348 else return visitor.visitChildren(this);
32349 }
32350 }
32351
32352 public final AddOrModifyFilegroupsContext addOrModifyFilegroups() throws RecognitionException {
32353 AddOrModifyFilegroupsContext _localctx = new AddOrModifyFilegroupsContext(_ctx, getState());
32354 enterRule(_localctx, 624, RULE_addOrModifyFilegroups);
32355 int _la;
32356 try {
32357 setState(4562);
32358 _errHandler.sync(this);
32359 switch (_input.LA(1)) {
32360 case ADD:
32361 enterOuterAlt(_localctx, 1);
32362 {
32363 setState(4540);
32364 match(ADD);
32365 setState(4541);
32366 match(FILEGROUP);
32367 setState(4542);
32368 ignoredIdentifier();
32369 setState(4547);
32370 _errHandler.sync(this);
32371 switch ( getInterpreter().adaptivePredict(_input,488,_ctx) ) {
32372 case 1:
32373 {
32374 setState(4543);
32375 match(CONTAINS);
32376 setState(4544);
32377 match(FILESTREAM);
32378 }
32379 break;
32380 case 2:
32381 {
32382 setState(4545);
32383 match(CONTAINS);
32384 setState(4546);
32385 match(MEMORY_OPTIMIZED_DATA);
32386 }
32387 break;
32388 }
32389 }
32390 break;
32391 case REMOVE:
32392 enterOuterAlt(_localctx, 2);
32393 {
32394 setState(4549);
32395 match(REMOVE);
32396 setState(4550);
32397 match(FILEGROUP);
32398 setState(4551);
32399 ignoredIdentifier();
32400 }
32401 break;
32402 case MODIFY:
32403 enterOuterAlt(_localctx, 3);
32404 {
32405 setState(4552);
32406 match(MODIFY);
32407 setState(4553);
32408 match(FILEGROUP);
32409 setState(4554);
32410 ignoredIdentifier();
32411 setState(4555);
32412 filegroupUpdatabilityOption();
32413 }
32414 break;
32415 case DEFAULT:
32416 enterOuterAlt(_localctx, 4);
32417 {
32418 setState(4557);
32419 match(DEFAULT);
32420 }
32421 break;
32422 case NAME:
32423 enterOuterAlt(_localctx, 5);
32424 {
32425 setState(4558);
32426 match(NAME);
32427 setState(4559);
32428 match(EQ_);
32429 setState(4560);
32430 ignoredIdentifier();
32431 }
32432 break;
32433 case AUTOGROW_SINGLE_FILE:
32434 case AUTOGROW_ALL_FILES:
32435 enterOuterAlt(_localctx, 6);
32436 {
32437 setState(4561);
32438 _la = _input.LA(1);
32439 if ( !(_la==AUTOGROW_SINGLE_FILE || _la==AUTOGROW_ALL_FILES) ) {
32440 _errHandler.recoverInline(this);
32441 }
32442 else {
32443 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32444 _errHandler.reportMatch(this);
32445 consume();
32446 }
32447 }
32448 break;
32449 default:
32450 throw new NoViableAltException(this);
32451 }
32452 }
32453 catch (RecognitionException re) {
32454 _localctx.exception = re;
32455 _errHandler.reportError(this, re);
32456 _errHandler.recover(this, re);
32457 }
32458 finally {
32459 exitRule();
32460 }
32461 return _localctx;
32462 }
32463
32464 public static class FilegroupUpdatabilityOptionContext extends ParserRuleContext {
32465 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
32466 public TerminalNode READWRITE() { return getToken(SQLServerStatementParser.READWRITE, 0); }
32467 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
32468 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
32469 public FilegroupUpdatabilityOptionContext(ParserRuleContext parent, int invokingState) {
32470 super(parent, invokingState);
32471 }
32472 @Override public int getRuleIndex() { return RULE_filegroupUpdatabilityOption; }
32473 @Override
32474 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32475 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilegroupUpdatabilityOption(this);
32476 else return visitor.visitChildren(this);
32477 }
32478 }
32479
32480 public final FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() throws RecognitionException {
32481 FilegroupUpdatabilityOptionContext _localctx = new FilegroupUpdatabilityOptionContext(_ctx, getState());
32482 enterRule(_localctx, 626, RULE_filegroupUpdatabilityOption);
32483 int _la;
32484 try {
32485 setState(4566);
32486 _errHandler.sync(this);
32487 switch (_input.LA(1)) {
32488 case READONLY:
32489 case READWRITE:
32490 enterOuterAlt(_localctx, 1);
32491 {
32492 setState(4564);
32493 _la = _input.LA(1);
32494 if ( !(_la==READONLY || _la==READWRITE) ) {
32495 _errHandler.recoverInline(this);
32496 }
32497 else {
32498 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32499 _errHandler.reportMatch(this);
32500 consume();
32501 }
32502 }
32503 break;
32504 case READ_ONLY:
32505 case READ_WRITE:
32506 enterOuterAlt(_localctx, 2);
32507 {
32508 setState(4565);
32509 _la = _input.LA(1);
32510 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
32511 _errHandler.recoverInline(this);
32512 }
32513 else {
32514 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32515 _errHandler.reportMatch(this);
32516 consume();
32517 }
32518 }
32519 break;
32520 default:
32521 throw new NoViableAltException(this);
32522 }
32523 }
32524 catch (RecognitionException re) {
32525 _localctx.exception = re;
32526 _errHandler.reportError(this, re);
32527 _errHandler.recover(this, re);
32528 }
32529 finally {
32530 exitRule();
32531 }
32532 return _localctx;
32533 }
32534
32535 public static class AddOrModifyFilesContext extends ParserRuleContext {
32536 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
32537 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
32538 public List<FileSpecContext> fileSpec() {
32539 return getRuleContexts(FileSpecContext.class);
32540 }
32541 public FileSpecContext fileSpec(int i) {
32542 return getRuleContext(FileSpecContext.class,i);
32543 }
32544 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32545 public TerminalNode COMMA_(int i) {
32546 return getToken(SQLServerStatementParser.COMMA_, i);
32547 }
32548 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
32549 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
32550 public IgnoredIdentifierContext ignoredIdentifier() {
32551 return getRuleContext(IgnoredIdentifierContext.class,0);
32552 }
32553 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
32554 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
32555 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32556 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
32557 public AddOrModifyFilesContext(ParserRuleContext parent, int invokingState) {
32558 super(parent, invokingState);
32559 }
32560 @Override public int getRuleIndex() { return RULE_addOrModifyFiles; }
32561 @Override
32562 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32563 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFiles(this);
32564 else return visitor.visitChildren(this);
32565 }
32566 }
32567
32568 public final AddOrModifyFilesContext addOrModifyFiles() throws RecognitionException {
32569 AddOrModifyFilesContext _localctx = new AddOrModifyFilesContext(_ctx, getState());
32570 enterRule(_localctx, 628, RULE_addOrModifyFiles);
32571 int _la;
32572 try {
32573 setState(4600);
32574 _errHandler.sync(this);
32575 switch ( getInterpreter().adaptivePredict(_input,494,_ctx) ) {
32576 case 1:
32577 enterOuterAlt(_localctx, 1);
32578 {
32579 setState(4568);
32580 match(ADD);
32581 setState(4569);
32582 match(FILE);
32583 setState(4570);
32584 fileSpec();
32585 setState(4575);
32586 _errHandler.sync(this);
32587 _la = _input.LA(1);
32588 while (_la==COMMA_) {
32589 {
32590 {
32591 setState(4571);
32592 match(COMMA_);
32593 setState(4572);
32594 fileSpec();
32595 }
32596 }
32597 setState(4577);
32598 _errHandler.sync(this);
32599 _la = _input.LA(1);
32600 }
32601 setState(4581);
32602 _errHandler.sync(this);
32603 _la = _input.LA(1);
32604 if (_la==TO) {
32605 {
32606 setState(4578);
32607 match(TO);
32608 setState(4579);
32609 match(FILEGROUP);
32610 setState(4580);
32611 ignoredIdentifier();
32612 }
32613 }
32614
32615 }
32616 break;
32617 case 2:
32618 enterOuterAlt(_localctx, 2);
32619 {
32620 setState(4583);
32621 match(ADD);
32622 setState(4584);
32623 match(LOG);
32624 setState(4585);
32625 match(FILE);
32626 setState(4586);
32627 fileSpec();
32628 setState(4591);
32629 _errHandler.sync(this);
32630 _la = _input.LA(1);
32631 while (_la==COMMA_) {
32632 {
32633 {
32634 setState(4587);
32635 match(COMMA_);
32636 setState(4588);
32637 fileSpec();
32638 }
32639 }
32640 setState(4593);
32641 _errHandler.sync(this);
32642 _la = _input.LA(1);
32643 }
32644 }
32645 break;
32646 case 3:
32647 enterOuterAlt(_localctx, 3);
32648 {
32649 setState(4594);
32650 match(REMOVE);
32651 setState(4595);
32652 match(FILE);
32653 setState(4596);
32654 match(STRING_);
32655 }
32656 break;
32657 case 4:
32658 enterOuterAlt(_localctx, 4);
32659 {
32660 setState(4597);
32661 match(MODIFY);
32662 setState(4598);
32663 match(FILE);
32664 setState(4599);
32665 fileSpec();
32666 }
32667 break;
32668 }
32669 }
32670 catch (RecognitionException re) {
32671 _localctx.exception = re;
32672 _errHandler.reportError(this, re);
32673 _errHandler.recover(this, re);
32674 }
32675 finally {
32676 exitRule();
32677 }
32678 return _localctx;
32679 }
32680
32681 public static class AcceleratedDatabaseRecoveryContext extends ParserRuleContext {
32682 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
32683 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
32684 public TerminalNode EQ_(int i) {
32685 return getToken(SQLServerStatementParser.EQ_, i);
32686 }
32687 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32688 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32689 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32690 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
32691 public IgnoredIdentifierContext ignoredIdentifier() {
32692 return getRuleContext(IgnoredIdentifierContext.class,0);
32693 }
32694 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32695 public AcceleratedDatabaseRecoveryContext(ParserRuleContext parent, int invokingState) {
32696 super(parent, invokingState);
32697 }
32698 @Override public int getRuleIndex() { return RULE_acceleratedDatabaseRecovery; }
32699 @Override
32700 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32701 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAcceleratedDatabaseRecovery(this);
32702 else return visitor.visitChildren(this);
32703 }
32704 }
32705
32706 public final AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() throws RecognitionException {
32707 AcceleratedDatabaseRecoveryContext _localctx = new AcceleratedDatabaseRecoveryContext(_ctx, getState());
32708 enterRule(_localctx, 630, RULE_acceleratedDatabaseRecovery);
32709 int _la;
32710 try {
32711 enterOuterAlt(_localctx, 1);
32712 {
32713 setState(4602);
32714 match(ACCELERATED_DATABASE_RECOVERY);
32715 setState(4603);
32716 match(EQ_);
32717 setState(4604);
32718 _la = _input.LA(1);
32719 if ( !(_la==ON || _la==OFF) ) {
32720 _errHandler.recoverInline(this);
32721 }
32722 else {
32723 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32724 _errHandler.reportMatch(this);
32725 consume();
32726 }
32727 setState(4611);
32728 _errHandler.sync(this);
32729 switch ( getInterpreter().adaptivePredict(_input,495,_ctx) ) {
32730 case 1:
32731 {
32732 setState(4605);
32733 match(LP_);
32734 setState(4606);
32735 match(PERSISTENT_VERSION_STORE_FILEGROUP);
32736 setState(4607);
32737 match(EQ_);
32738 setState(4608);
32739 ignoredIdentifier();
32740 setState(4609);
32741 match(RP_);
32742 }
32743 break;
32744 }
32745 }
32746 }
32747 catch (RecognitionException re) {
32748 _localctx.exception = re;
32749 _errHandler.reportError(this, re);
32750 _errHandler.recover(this, re);
32751 }
32752 finally {
32753 exitRule();
32754 }
32755 return _localctx;
32756 }
32757
32758 public static class AutoOptionContext extends ParserRuleContext {
32759 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
32760 public List<TerminalNode> ON() { return getTokens(SQLServerStatementParser.ON); }
32761 public TerminalNode ON(int i) {
32762 return getToken(SQLServerStatementParser.ON, i);
32763 }
32764 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32765 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
32766 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32767 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
32768 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32769 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32770 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
32771 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
32772 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
32773 public AutoOptionContext(ParserRuleContext parent, int invokingState) {
32774 super(parent, invokingState);
32775 }
32776 @Override public int getRuleIndex() { return RULE_autoOption; }
32777 @Override
32778 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32779 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutoOption(this);
32780 else return visitor.visitChildren(this);
32781 }
32782 }
32783
32784 public final AutoOptionContext autoOption() throws RecognitionException {
32785 AutoOptionContext _localctx = new AutoOptionContext(_ctx, getState());
32786 enterRule(_localctx, 632, RULE_autoOption);
32787 int _la;
32788 try {
32789 setState(4633);
32790 _errHandler.sync(this);
32791 switch (_input.LA(1)) {
32792 case AUTO_CLOSE:
32793 enterOuterAlt(_localctx, 1);
32794 {
32795 setState(4613);
32796 match(AUTO_CLOSE);
32797 setState(4614);
32798 _la = _input.LA(1);
32799 if ( !(_la==ON || _la==OFF) ) {
32800 _errHandler.recoverInline(this);
32801 }
32802 else {
32803 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32804 _errHandler.reportMatch(this);
32805 consume();
32806 }
32807 }
32808 break;
32809 case AUTO_CREATE_STATISTICS:
32810 enterOuterAlt(_localctx, 2);
32811 {
32812 setState(4615);
32813 match(AUTO_CREATE_STATISTICS);
32814 setState(4625);
32815 _errHandler.sync(this);
32816 switch (_input.LA(1)) {
32817 case OFF:
32818 {
32819 setState(4616);
32820 match(OFF);
32821 }
32822 break;
32823 case ON:
32824 {
32825 setState(4617);
32826 match(ON);
32827 setState(4623);
32828 _errHandler.sync(this);
32829 switch ( getInterpreter().adaptivePredict(_input,496,_ctx) ) {
32830 case 1:
32831 {
32832 setState(4618);
32833 match(LP_);
32834 setState(4619);
32835 match(INCREMENTAL);
32836 setState(4620);
32837 match(EQ_);
32838 setState(4621);
32839 _la = _input.LA(1);
32840 if ( !(_la==ON || _la==OFF) ) {
32841 _errHandler.recoverInline(this);
32842 }
32843 else {
32844 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32845 _errHandler.reportMatch(this);
32846 consume();
32847 }
32848 setState(4622);
32849 match(RP_);
32850 }
32851 break;
32852 }
32853 }
32854 break;
32855 default:
32856 throw new NoViableAltException(this);
32857 }
32858 }
32859 break;
32860 case AUTO_SHRINK:
32861 enterOuterAlt(_localctx, 3);
32862 {
32863 setState(4627);
32864 match(AUTO_SHRINK);
32865 setState(4628);
32866 _la = _input.LA(1);
32867 if ( !(_la==ON || _la==OFF) ) {
32868 _errHandler.recoverInline(this);
32869 }
32870 else {
32871 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32872 _errHandler.reportMatch(this);
32873 consume();
32874 }
32875 }
32876 break;
32877 case AUTO_UPDATE_STATISTICS:
32878 enterOuterAlt(_localctx, 4);
32879 {
32880 setState(4629);
32881 match(AUTO_UPDATE_STATISTICS);
32882 setState(4630);
32883 _la = _input.LA(1);
32884 if ( !(_la==ON || _la==OFF) ) {
32885 _errHandler.recoverInline(this);
32886 }
32887 else {
32888 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32889 _errHandler.reportMatch(this);
32890 consume();
32891 }
32892 }
32893 break;
32894 case AUTO_UPDATE_STATISTICS_ASYNC:
32895 enterOuterAlt(_localctx, 5);
32896 {
32897 setState(4631);
32898 match(AUTO_UPDATE_STATISTICS_ASYNC);
32899 setState(4632);
32900 _la = _input.LA(1);
32901 if ( !(_la==ON || _la==OFF) ) {
32902 _errHandler.recoverInline(this);
32903 }
32904 else {
32905 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32906 _errHandler.reportMatch(this);
32907 consume();
32908 }
32909 }
32910 break;
32911 default:
32912 throw new NoViableAltException(this);
32913 }
32914 }
32915 catch (RecognitionException re) {
32916 _localctx.exception = re;
32917 _errHandler.reportError(this, re);
32918 _errHandler.recover(this, re);
32919 }
32920 finally {
32921 exitRule();
32922 }
32923 return _localctx;
32924 }
32925
32926 public static class AutomaticTuningOptionContext extends ParserRuleContext {
32927 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
32928 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32929 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
32930 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32931 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32932 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32933 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32934 public AutomaticTuningOptionContext(ParserRuleContext parent, int invokingState) {
32935 super(parent, invokingState);
32936 }
32937 @Override public int getRuleIndex() { return RULE_automaticTuningOption; }
32938 @Override
32939 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32940 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutomaticTuningOption(this);
32941 else return visitor.visitChildren(this);
32942 }
32943 }
32944
32945 public final AutomaticTuningOptionContext automaticTuningOption() throws RecognitionException {
32946 AutomaticTuningOptionContext _localctx = new AutomaticTuningOptionContext(_ctx, getState());
32947 enterRule(_localctx, 634, RULE_automaticTuningOption);
32948 int _la;
32949 try {
32950 enterOuterAlt(_localctx, 1);
32951 {
32952 setState(4635);
32953 match(AUTOMATIC_TUNING);
32954 setState(4636);
32955 match(LP_);
32956 setState(4637);
32957 match(FORCE_LAST_GOOD_PLAN);
32958 setState(4638);
32959 match(EQ_);
32960 setState(4639);
32961 _la = _input.LA(1);
32962 if ( !(_la==ON || _la==OFF) ) {
32963 _errHandler.recoverInline(this);
32964 }
32965 else {
32966 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32967 _errHandler.reportMatch(this);
32968 consume();
32969 }
32970 setState(4640);
32971 match(RP_);
32972 }
32973 }
32974 catch (RecognitionException re) {
32975 _localctx.exception = re;
32976 _errHandler.reportError(this, re);
32977 _errHandler.recover(this, re);
32978 }
32979 finally {
32980 exitRule();
32981 }
32982 return _localctx;
32983 }
32984
32985 public static class ChangeTrackingOptionContext extends ParserRuleContext {
32986 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
32987 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32988 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32989 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32990 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32991 public List<ChangeTrackingOptionListContext> changeTrackingOptionList() {
32992 return getRuleContexts(ChangeTrackingOptionListContext.class);
32993 }
32994 public ChangeTrackingOptionListContext changeTrackingOptionList(int i) {
32995 return getRuleContext(ChangeTrackingOptionListContext.class,i);
32996 }
32997 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32998 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32999 public TerminalNode COMMA_(int i) {
33000 return getToken(SQLServerStatementParser.COMMA_, i);
33001 }
33002 public ChangeTrackingOptionContext(ParserRuleContext parent, int invokingState) {
33003 super(parent, invokingState);
33004 }
33005 @Override public int getRuleIndex() { return RULE_changeTrackingOption; }
33006 @Override
33007 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33008 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOption(this);
33009 else return visitor.visitChildren(this);
33010 }
33011 }
33012
33013 public final ChangeTrackingOptionContext changeTrackingOption() throws RecognitionException {
33014 ChangeTrackingOptionContext _localctx = new ChangeTrackingOptionContext(_ctx, getState());
33015 enterRule(_localctx, 636, RULE_changeTrackingOption);
33016 int _la;
33017 try {
33018 enterOuterAlt(_localctx, 1);
33019 {
33020 setState(4642);
33021 match(CHANGE_TRACKING);
33022 setState(4662);
33023 _errHandler.sync(this);
33024 switch ( getInterpreter().adaptivePredict(_input,502,_ctx) ) {
33025 case 1:
33026 {
33027 setState(4643);
33028 match(EQ_);
33029 setState(4644);
33030 match(OFF);
33031 }
33032 break;
33033 case 2:
33034 {
33035 setState(4647);
33036 _errHandler.sync(this);
33037 _la = _input.LA(1);
33038 if (_la==EQ_) {
33039 {
33040 setState(4645);
33041 match(EQ_);
33042 setState(4646);
33043 match(ON);
33044 }
33045 }
33046
33047 setState(4660);
33048 _errHandler.sync(this);
33049 switch ( getInterpreter().adaptivePredict(_input,501,_ctx) ) {
33050 case 1:
33051 {
33052 setState(4649);
33053 match(LP_);
33054 setState(4650);
33055 changeTrackingOptionList();
33056 setState(4655);
33057 _errHandler.sync(this);
33058 _la = _input.LA(1);
33059 while (_la==COMMA_) {
33060 {
33061 {
33062 setState(4651);
33063 match(COMMA_);
33064 setState(4652);
33065 changeTrackingOptionList();
33066 }
33067 }
33068 setState(4657);
33069 _errHandler.sync(this);
33070 _la = _input.LA(1);
33071 }
33072 setState(4658);
33073 match(RP_);
33074 }
33075 break;
33076 }
33077 }
33078 break;
33079 }
33080 }
33081 }
33082 catch (RecognitionException re) {
33083 _localctx.exception = re;
33084 _errHandler.reportError(this, re);
33085 _errHandler.recover(this, re);
33086 }
33087 finally {
33088 exitRule();
33089 }
33090 return _localctx;
33091 }
33092
33093 public static class ChangeTrackingOptionListContext extends ParserRuleContext {
33094 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
33095 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33096 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33097 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33098 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
33099 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33100 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
33101 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
33102 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
33103 public ChangeTrackingOptionListContext(ParserRuleContext parent, int invokingState) {
33104 super(parent, invokingState);
33105 }
33106 @Override public int getRuleIndex() { return RULE_changeTrackingOptionList; }
33107 @Override
33108 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33109 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOptionList(this);
33110 else return visitor.visitChildren(this);
33111 }
33112 }
33113
33114 public final ChangeTrackingOptionListContext changeTrackingOptionList() throws RecognitionException {
33115 ChangeTrackingOptionListContext _localctx = new ChangeTrackingOptionListContext(_ctx, getState());
33116 enterRule(_localctx, 638, RULE_changeTrackingOptionList);
33117 int _la;
33118 try {
33119 setState(4671);
33120 _errHandler.sync(this);
33121 switch (_input.LA(1)) {
33122 case AUTO_CLEANUP:
33123 enterOuterAlt(_localctx, 1);
33124 {
33125 setState(4664);
33126 match(AUTO_CLEANUP);
33127 setState(4665);
33128 match(EQ_);
33129 setState(4666);
33130 _la = _input.LA(1);
33131 if ( !(_la==ON || _la==OFF) ) {
33132 _errHandler.recoverInline(this);
33133 }
33134 else {
33135 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33136 _errHandler.reportMatch(this);
33137 consume();
33138 }
33139 }
33140 break;
33141 case CHANGE_RETENTION:
33142 enterOuterAlt(_localctx, 2);
33143 {
33144 setState(4667);
33145 match(CHANGE_RETENTION);
33146 setState(4668);
33147 match(EQ_);
33148 setState(4669);
33149 match(NUMBER_);
33150 setState(4670);
33151 _la = _input.LA(1);
33152 if ( !(_la==DAYS || _la==MINUTES || _la==HOURS) ) {
33153 _errHandler.recoverInline(this);
33154 }
33155 else {
33156 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33157 _errHandler.reportMatch(this);
33158 consume();
33159 }
33160 }
33161 break;
33162 default:
33163 throw new NoViableAltException(this);
33164 }
33165 }
33166 catch (RecognitionException re) {
33167 _localctx.exception = re;
33168 _errHandler.reportError(this, re);
33169 _errHandler.recover(this, re);
33170 }
33171 finally {
33172 exitRule();
33173 }
33174 return _localctx;
33175 }
33176
33177 public static class CursorOptionContext extends ParserRuleContext {
33178 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
33179 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33180 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33181 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
33182 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
33183 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
33184 public CursorOptionContext(ParserRuleContext parent, int invokingState) {
33185 super(parent, invokingState);
33186 }
33187 @Override public int getRuleIndex() { return RULE_cursorOption; }
33188 @Override
33189 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33190 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorOption(this);
33191 else return visitor.visitChildren(this);
33192 }
33193 }
33194
33195 public final CursorOptionContext cursorOption() throws RecognitionException {
33196 CursorOptionContext _localctx = new CursorOptionContext(_ctx, getState());
33197 enterRule(_localctx, 640, RULE_cursorOption);
33198 int _la;
33199 try {
33200 setState(4677);
33201 _errHandler.sync(this);
33202 switch (_input.LA(1)) {
33203 case CURSOR_CLOSE_ON_COMMIT:
33204 enterOuterAlt(_localctx, 1);
33205 {
33206 setState(4673);
33207 match(CURSOR_CLOSE_ON_COMMIT);
33208 setState(4674);
33209 _la = _input.LA(1);
33210 if ( !(_la==ON || _la==OFF) ) {
33211 _errHandler.recoverInline(this);
33212 }
33213 else {
33214 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33215 _errHandler.reportMatch(this);
33216 consume();
33217 }
33218 }
33219 break;
33220 case CURSOR_DEFAULT:
33221 enterOuterAlt(_localctx, 2);
33222 {
33223 setState(4675);
33224 match(CURSOR_DEFAULT);
33225 setState(4676);
33226 _la = _input.LA(1);
33227 if ( !(_la==LOCAL || _la==GLOBAL) ) {
33228 _errHandler.recoverInline(this);
33229 }
33230 else {
33231 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33232 _errHandler.reportMatch(this);
33233 consume();
33234 }
33235 }
33236 break;
33237 default:
33238 throw new NoViableAltException(this);
33239 }
33240 }
33241 catch (RecognitionException re) {
33242 _localctx.exception = re;
33243 _errHandler.reportError(this, re);
33244 _errHandler.recover(this, re);
33245 }
33246 finally {
33247 exitRule();
33248 }
33249 return _localctx;
33250 }
33251
33252 public static class ExternalAccessOptionContext extends ParserRuleContext {
33253 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
33254 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33255 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33256 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
33257 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
33258 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33259 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
33260 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
33261 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
33262 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
33263 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
33264 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33265 public ExternalAccessOptionContext(ParserRuleContext parent, int invokingState) {
33266 super(parent, invokingState);
33267 }
33268 @Override public int getRuleIndex() { return RULE_externalAccessOption; }
33269 @Override
33270 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33271 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExternalAccessOption(this);
33272 else return visitor.visitChildren(this);
33273 }
33274 }
33275
33276 public final ExternalAccessOptionContext externalAccessOption() throws RecognitionException {
33277 ExternalAccessOptionContext _localctx = new ExternalAccessOptionContext(_ctx, getState());
33278 enterRule(_localctx, 642, RULE_externalAccessOption);
33279 int _la;
33280 try {
33281 setState(4698);
33282 _errHandler.sync(this);
33283 switch (_input.LA(1)) {
33284 case DB_CHAINING:
33285 enterOuterAlt(_localctx, 1);
33286 {
33287 setState(4679);
33288 match(DB_CHAINING);
33289 setState(4680);
33290 _la = _input.LA(1);
33291 if ( !(_la==ON || _la==OFF) ) {
33292 _errHandler.recoverInline(this);
33293 }
33294 else {
33295 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33296 _errHandler.reportMatch(this);
33297 consume();
33298 }
33299 }
33300 break;
33301 case TRUSTWORTHY:
33302 enterOuterAlt(_localctx, 2);
33303 {
33304 setState(4681);
33305 match(TRUSTWORTHY);
33306 setState(4682);
33307 _la = _input.LA(1);
33308 if ( !(_la==ON || _la==OFF) ) {
33309 _errHandler.recoverInline(this);
33310 }
33311 else {
33312 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33313 _errHandler.reportMatch(this);
33314 consume();
33315 }
33316 }
33317 break;
33318 case DEFAULT_FULLTEXT_LANGUAGE:
33319 enterOuterAlt(_localctx, 3);
33320 {
33321 setState(4683);
33322 match(DEFAULT_FULLTEXT_LANGUAGE);
33323 setState(4684);
33324 match(EQ_);
33325 setState(4685);
33326 match(STRING_);
33327 }
33328 break;
33329 case DEFAULT_LANGUAGE:
33330 enterOuterAlt(_localctx, 4);
33331 {
33332 setState(4686);
33333 match(DEFAULT_LANGUAGE);
33334 setState(4687);
33335 match(EQ_);
33336 setState(4688);
33337 match(STRING_);
33338 }
33339 break;
33340 case NESTED_TRIGGERS:
33341 enterOuterAlt(_localctx, 5);
33342 {
33343 setState(4689);
33344 match(NESTED_TRIGGERS);
33345 setState(4690);
33346 match(EQ_);
33347 setState(4691);
33348 _la = _input.LA(1);
33349 if ( !(_la==ON || _la==OFF) ) {
33350 _errHandler.recoverInline(this);
33351 }
33352 else {
33353 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33354 _errHandler.reportMatch(this);
33355 consume();
33356 }
33357 }
33358 break;
33359 case TRANSFORM_NOISE_WORDS:
33360 enterOuterAlt(_localctx, 6);
33361 {
33362 setState(4692);
33363 match(TRANSFORM_NOISE_WORDS);
33364 setState(4693);
33365 match(EQ_);
33366 setState(4694);
33367 _la = _input.LA(1);
33368 if ( !(_la==ON || _la==OFF) ) {
33369 _errHandler.recoverInline(this);
33370 }
33371 else {
33372 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33373 _errHandler.reportMatch(this);
33374 consume();
33375 }
33376 }
33377 break;
33378 case TWO_DIGIT_YEAR_CUTOFF:
33379 enterOuterAlt(_localctx, 7);
33380 {
33381 setState(4695);
33382 match(TWO_DIGIT_YEAR_CUTOFF);
33383 setState(4696);
33384 match(EQ_);
33385 setState(4697);
33386 match(NUMBER_);
33387 }
33388 break;
33389 default:
33390 throw new NoViableAltException(this);
33391 }
33392 }
33393 catch (RecognitionException re) {
33394 _localctx.exception = re;
33395 _errHandler.reportError(this, re);
33396 _errHandler.recover(this, re);
33397 }
33398 finally {
33399 exitRule();
33400 }
33401 return _localctx;
33402 }
33403
33404 public static class QueryStoreOptionsContext extends ParserRuleContext {
33405 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
33406 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33407 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33408 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33409 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33410 public List<QueryStoreOptionListContext> queryStoreOptionList() {
33411 return getRuleContexts(QueryStoreOptionListContext.class);
33412 }
33413 public QueryStoreOptionListContext queryStoreOptionList(int i) {
33414 return getRuleContext(QueryStoreOptionListContext.class,i);
33415 }
33416 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33417 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33418 public TerminalNode COMMA_(int i) {
33419 return getToken(SQLServerStatementParser.COMMA_, i);
33420 }
33421 public QueryStoreOptionsContext(ParserRuleContext parent, int invokingState) {
33422 super(parent, invokingState);
33423 }
33424 @Override public int getRuleIndex() { return RULE_queryStoreOptions; }
33425 @Override
33426 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33427 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptions(this);
33428 else return visitor.visitChildren(this);
33429 }
33430 }
33431
33432 public final QueryStoreOptionsContext queryStoreOptions() throws RecognitionException {
33433 QueryStoreOptionsContext _localctx = new QueryStoreOptionsContext(_ctx, getState());
33434 enterRule(_localctx, 644, RULE_queryStoreOptions);
33435 int _la;
33436 try {
33437 enterOuterAlt(_localctx, 1);
33438 {
33439 setState(4700);
33440 match(QUERY_STORE);
33441 setState(4720);
33442 _errHandler.sync(this);
33443 switch ( getInterpreter().adaptivePredict(_input,509,_ctx) ) {
33444 case 1:
33445 {
33446 setState(4701);
33447 match(EQ_);
33448 setState(4702);
33449 match(OFF);
33450 }
33451 break;
33452 case 2:
33453 {
33454 setState(4705);
33455 _errHandler.sync(this);
33456 _la = _input.LA(1);
33457 if (_la==EQ_) {
33458 {
33459 setState(4703);
33460 match(EQ_);
33461 setState(4704);
33462 match(ON);
33463 }
33464 }
33465
33466 setState(4718);
33467 _errHandler.sync(this);
33468 switch ( getInterpreter().adaptivePredict(_input,508,_ctx) ) {
33469 case 1:
33470 {
33471 setState(4707);
33472 match(LP_);
33473 setState(4708);
33474 queryStoreOptionList();
33475 setState(4713);
33476 _errHandler.sync(this);
33477 _la = _input.LA(1);
33478 while (_la==COMMA_) {
33479 {
33480 {
33481 setState(4709);
33482 match(COMMA_);
33483 setState(4710);
33484 queryStoreOptionList();
33485 }
33486 }
33487 setState(4715);
33488 _errHandler.sync(this);
33489 _la = _input.LA(1);
33490 }
33491 setState(4716);
33492 match(RP_);
33493 }
33494 break;
33495 }
33496 }
33497 break;
33498 }
33499 }
33500 }
33501 catch (RecognitionException re) {
33502 _localctx.exception = re;
33503 _errHandler.reportError(this, re);
33504 _errHandler.recover(this, re);
33505 }
33506 finally {
33507 exitRule();
33508 }
33509 return _localctx;
33510 }
33511
33512 public static class QueryStoreOptionListContext extends ParserRuleContext {
33513 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
33514 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
33515 public TerminalNode EQ_(int i) {
33516 return getToken(SQLServerStatementParser.EQ_, i);
33517 }
33518 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
33519 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
33520 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
33521 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33522 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
33523 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33524 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33525 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
33526 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
33527 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
33528 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
33529 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
33530 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33531 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
33532 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
33533 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
33534 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
33535 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
33536 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
33537 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33538 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
33539 public List<QueryCapturePolicyOptionListContext> queryCapturePolicyOptionList() {
33540 return getRuleContexts(QueryCapturePolicyOptionListContext.class);
33541 }
33542 public QueryCapturePolicyOptionListContext queryCapturePolicyOptionList(int i) {
33543 return getRuleContext(QueryCapturePolicyOptionListContext.class,i);
33544 }
33545 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33546 public TerminalNode COMMA_(int i) {
33547 return getToken(SQLServerStatementParser.COMMA_, i);
33548 }
33549 public QueryStoreOptionListContext(ParserRuleContext parent, int invokingState) {
33550 super(parent, invokingState);
33551 }
33552 @Override public int getRuleIndex() { return RULE_queryStoreOptionList; }
33553 @Override
33554 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33555 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptionList(this);
33556 else return visitor.visitChildren(this);
33557 }
33558 }
33559
33560 public final QueryStoreOptionListContext queryStoreOptionList() throws RecognitionException {
33561 QueryStoreOptionListContext _localctx = new QueryStoreOptionListContext(_ctx, getState());
33562 enterRule(_localctx, 646, RULE_queryStoreOptionList);
33563 int _la;
33564 try {
33565 setState(4766);
33566 _errHandler.sync(this);
33567 switch (_input.LA(1)) {
33568 case OPERATION_MODE:
33569 enterOuterAlt(_localctx, 1);
33570 {
33571 setState(4722);
33572 match(OPERATION_MODE);
33573 setState(4723);
33574 match(EQ_);
33575 setState(4724);
33576 _la = _input.LA(1);
33577 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
33578 _errHandler.recoverInline(this);
33579 }
33580 else {
33581 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33582 _errHandler.reportMatch(this);
33583 consume();
33584 }
33585 }
33586 break;
33587 case CLEANUP_POLICY:
33588 enterOuterAlt(_localctx, 2);
33589 {
33590 setState(4725);
33591 match(CLEANUP_POLICY);
33592 setState(4726);
33593 match(EQ_);
33594 setState(4727);
33595 match(LP_);
33596 setState(4728);
33597 match(STALE_QUERY_THRESHOLD_DAYS);
33598 setState(4729);
33599 match(EQ_);
33600 setState(4730);
33601 match(NUMBER_);
33602 setState(4731);
33603 match(RP_);
33604 }
33605 break;
33606 case DATA_FLUSH_INTERVAL_SECONDS:
33607 enterOuterAlt(_localctx, 3);
33608 {
33609 setState(4732);
33610 match(DATA_FLUSH_INTERVAL_SECONDS);
33611 setState(4733);
33612 match(EQ_);
33613 setState(4734);
33614 match(NUMBER_);
33615 }
33616 break;
33617 case MAX_STORAGE_SIZE_MB:
33618 enterOuterAlt(_localctx, 4);
33619 {
33620 setState(4735);
33621 match(MAX_STORAGE_SIZE_MB);
33622 setState(4736);
33623 match(EQ_);
33624 setState(4737);
33625 match(NUMBER_);
33626 }
33627 break;
33628 case INTERVAL_LENGTH_MINUTES:
33629 enterOuterAlt(_localctx, 5);
33630 {
33631 setState(4738);
33632 match(INTERVAL_LENGTH_MINUTES);
33633 setState(4739);
33634 match(EQ_);
33635 setState(4740);
33636 match(NUMBER_);
33637 }
33638 break;
33639 case SIZE_BASED_CLEANUP_MODE:
33640 enterOuterAlt(_localctx, 6);
33641 {
33642 setState(4741);
33643 match(SIZE_BASED_CLEANUP_MODE);
33644 setState(4742);
33645 match(EQ_);
33646 setState(4743);
33647 _la = _input.LA(1);
33648 if ( !(_la==OFF || _la==AUTO) ) {
33649 _errHandler.recoverInline(this);
33650 }
33651 else {
33652 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33653 _errHandler.reportMatch(this);
33654 consume();
33655 }
33656 }
33657 break;
33658 case QUERY_CAPTURE_MODE:
33659 enterOuterAlt(_localctx, 7);
33660 {
33661 setState(4744);
33662 match(QUERY_CAPTURE_MODE);
33663 setState(4745);
33664 match(EQ_);
33665 setState(4746);
33666 _la = _input.LA(1);
33667 if ( !(_la==ALL || _la==AUTO || _la==NONE || _la==CUSTOM) ) {
33668 _errHandler.recoverInline(this);
33669 }
33670 else {
33671 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33672 _errHandler.reportMatch(this);
33673 consume();
33674 }
33675 }
33676 break;
33677 case MAX_PLANS_PER_QUERY:
33678 enterOuterAlt(_localctx, 8);
33679 {
33680 setState(4747);
33681 match(MAX_PLANS_PER_QUERY);
33682 setState(4748);
33683 match(EQ_);
33684 setState(4749);
33685 match(NUMBER_);
33686 }
33687 break;
33688 case WAIT_STATS_CAPTURE_MODE:
33689 enterOuterAlt(_localctx, 9);
33690 {
33691 setState(4750);
33692 match(WAIT_STATS_CAPTURE_MODE);
33693 setState(4751);
33694 match(EQ_);
33695 setState(4752);
33696 _la = _input.LA(1);
33697 if ( !(_la==ON || _la==OFF) ) {
33698 _errHandler.recoverInline(this);
33699 }
33700 else {
33701 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33702 _errHandler.reportMatch(this);
33703 consume();
33704 }
33705 }
33706 break;
33707 case QUERY_CAPTURE_POLICY:
33708 enterOuterAlt(_localctx, 10);
33709 {
33710 setState(4753);
33711 match(QUERY_CAPTURE_POLICY);
33712 setState(4754);
33713 match(EQ_);
33714 setState(4755);
33715 match(LP_);
33716 setState(4756);
33717 queryCapturePolicyOptionList();
33718 setState(4761);
33719 _errHandler.sync(this);
33720 _la = _input.LA(1);
33721 while (_la==COMMA_) {
33722 {
33723 {
33724 setState(4757);
33725 match(COMMA_);
33726 setState(4758);
33727 queryCapturePolicyOptionList();
33728 }
33729 }
33730 setState(4763);
33731 _errHandler.sync(this);
33732 _la = _input.LA(1);
33733 }
33734 setState(4764);
33735 match(RP_);
33736 }
33737 break;
33738 default:
33739 throw new NoViableAltException(this);
33740 }
33741 }
33742 catch (RecognitionException re) {
33743 _localctx.exception = re;
33744 _errHandler.reportError(this, re);
33745 _errHandler.recover(this, re);
33746 }
33747 finally {
33748 exitRule();
33749 }
33750 return _localctx;
33751 }
33752
33753 public static class QueryCapturePolicyOptionListContext extends ParserRuleContext {
33754 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
33755 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33756 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33757 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
33758 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
33759 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
33760 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
33761 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
33762 public QueryCapturePolicyOptionListContext(ParserRuleContext parent, int invokingState) {
33763 super(parent, invokingState);
33764 }
33765 @Override public int getRuleIndex() { return RULE_queryCapturePolicyOptionList; }
33766 @Override
33767 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33768 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryCapturePolicyOptionList(this);
33769 else return visitor.visitChildren(this);
33770 }
33771 }
33772
33773 public final QueryCapturePolicyOptionListContext queryCapturePolicyOptionList() throws RecognitionException {
33774 QueryCapturePolicyOptionListContext _localctx = new QueryCapturePolicyOptionListContext(_ctx, getState());
33775 enterRule(_localctx, 648, RULE_queryCapturePolicyOptionList);
33776 int _la;
33777 try {
33778 setState(4781);
33779 _errHandler.sync(this);
33780 switch (_input.LA(1)) {
33781 case STALE_CAPTURE_POLICY_THRESHOLD:
33782 enterOuterAlt(_localctx, 1);
33783 {
33784 setState(4768);
33785 match(STALE_CAPTURE_POLICY_THRESHOLD);
33786 setState(4769);
33787 match(EQ_);
33788 setState(4770);
33789 match(NUMBER_);
33790 setState(4771);
33791 _la = _input.LA(1);
33792 if ( !(_la==DAYS || _la==HOURS) ) {
33793 _errHandler.recoverInline(this);
33794 }
33795 else {
33796 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33797 _errHandler.reportMatch(this);
33798 consume();
33799 }
33800 }
33801 break;
33802 case EXECUTION_COUNT:
33803 enterOuterAlt(_localctx, 2);
33804 {
33805 setState(4772);
33806 match(EXECUTION_COUNT);
33807 setState(4773);
33808 match(EQ_);
33809 setState(4774);
33810 match(NUMBER_);
33811 }
33812 break;
33813 case TOTAL_COMPILE_CPU_TIME_MS:
33814 enterOuterAlt(_localctx, 3);
33815 {
33816 setState(4775);
33817 match(TOTAL_COMPILE_CPU_TIME_MS);
33818 setState(4776);
33819 match(EQ_);
33820 setState(4777);
33821 match(NUMBER_);
33822 }
33823 break;
33824 case TOTAL_EXECUTION_CPU_TIME_MS:
33825 enterOuterAlt(_localctx, 4);
33826 {
33827 setState(4778);
33828 match(TOTAL_EXECUTION_CPU_TIME_MS);
33829 setState(4779);
33830 match(EQ_);
33831 setState(4780);
33832 match(NUMBER_);
33833 }
33834 break;
33835 default:
33836 throw new NoViableAltException(this);
33837 }
33838 }
33839 catch (RecognitionException re) {
33840 _localctx.exception = re;
33841 _errHandler.reportError(this, re);
33842 _errHandler.recover(this, re);
33843 }
33844 finally {
33845 exitRule();
33846 }
33847 return _localctx;
33848 }
33849
33850 public static class RecoveryOptionContext extends ParserRuleContext {
33851 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
33852 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
33853 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
33854 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
33855 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
33856 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33857 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33858 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
33859 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
33860 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
33861 public RecoveryOptionContext(ParserRuleContext parent, int invokingState) {
33862 super(parent, invokingState);
33863 }
33864 @Override public int getRuleIndex() { return RULE_recoveryOption; }
33865 @Override
33866 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33867 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRecoveryOption(this);
33868 else return visitor.visitChildren(this);
33869 }
33870 }
33871
33872 public final RecoveryOptionContext recoveryOption() throws RecognitionException {
33873 RecoveryOptionContext _localctx = new RecoveryOptionContext(_ctx, getState());
33874 enterRule(_localctx, 650, RULE_recoveryOption);
33875 int _la;
33876 try {
33877 setState(4789);
33878 _errHandler.sync(this);
33879 switch (_input.LA(1)) {
33880 case RECOVERY:
33881 enterOuterAlt(_localctx, 1);
33882 {
33883 setState(4783);
33884 match(RECOVERY);
33885 setState(4784);
33886 _la = _input.LA(1);
33887 if ( !(_la==FULL || _la==SIMPLE || _la==BULK_LOGGED) ) {
33888 _errHandler.recoverInline(this);
33889 }
33890 else {
33891 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33892 _errHandler.reportMatch(this);
33893 consume();
33894 }
33895 }
33896 break;
33897 case TORN_PAGE_DETECTION:
33898 enterOuterAlt(_localctx, 2);
33899 {
33900 setState(4785);
33901 match(TORN_PAGE_DETECTION);
33902 setState(4786);
33903 _la = _input.LA(1);
33904 if ( !(_la==ON || _la==OFF) ) {
33905 _errHandler.recoverInline(this);
33906 }
33907 else {
33908 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33909 _errHandler.reportMatch(this);
33910 consume();
33911 }
33912 }
33913 break;
33914 case PAGE_VERIFY:
33915 enterOuterAlt(_localctx, 3);
33916 {
33917 setState(4787);
33918 match(PAGE_VERIFY);
33919 setState(4788);
33920 _la = _input.LA(1);
33921 if ( !(_la==NONE || _la==CHECKSUM || _la==TORN_PAGE_DETECTION) ) {
33922 _errHandler.recoverInline(this);
33923 }
33924 else {
33925 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33926 _errHandler.reportMatch(this);
33927 consume();
33928 }
33929 }
33930 break;
33931 default:
33932 throw new NoViableAltException(this);
33933 }
33934 }
33935 catch (RecognitionException re) {
33936 _localctx.exception = re;
33937 _errHandler.reportError(this, re);
33938 _errHandler.recover(this, re);
33939 }
33940 finally {
33941 exitRule();
33942 }
33943 return _localctx;
33944 }
33945
33946 public static class SqlOptionContext extends ParserRuleContext {
33947 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
33948 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33949 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33950 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
33951 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
33952 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
33953 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
33954 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
33955 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33956 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33957 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
33958 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
33959 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
33960 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
33961 public SqlOptionContext(ParserRuleContext parent, int invokingState) {
33962 super(parent, invokingState);
33963 }
33964 @Override public int getRuleIndex() { return RULE_sqlOption; }
33965 @Override
33966 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33967 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSqlOption(this);
33968 else return visitor.visitChildren(this);
33969 }
33970 }
33971
33972 public final SqlOptionContext sqlOption() throws RecognitionException {
33973 SqlOptionContext _localctx = new SqlOptionContext(_ctx, getState());
33974 enterRule(_localctx, 652, RULE_sqlOption);
33975 int _la;
33976 try {
33977 setState(4812);
33978 _errHandler.sync(this);
33979 switch (_input.LA(1)) {
33980 case ANSI_NULL_DEFAULT:
33981 enterOuterAlt(_localctx, 1);
33982 {
33983 setState(4791);
33984 match(ANSI_NULL_DEFAULT);
33985 setState(4792);
33986 _la = _input.LA(1);
33987 if ( !(_la==ON || _la==OFF) ) {
33988 _errHandler.recoverInline(this);
33989 }
33990 else {
33991 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33992 _errHandler.reportMatch(this);
33993 consume();
33994 }
33995 }
33996 break;
33997 case ANSI_NULLS:
33998 enterOuterAlt(_localctx, 2);
33999 {
34000 setState(4793);
34001 match(ANSI_NULLS);
34002 setState(4794);
34003 _la = _input.LA(1);
34004 if ( !(_la==ON || _la==OFF) ) {
34005 _errHandler.recoverInline(this);
34006 }
34007 else {
34008 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34009 _errHandler.reportMatch(this);
34010 consume();
34011 }
34012 }
34013 break;
34014 case ANSI_PADDING:
34015 enterOuterAlt(_localctx, 3);
34016 {
34017 setState(4795);
34018 match(ANSI_PADDING);
34019 setState(4796);
34020 _la = _input.LA(1);
34021 if ( !(_la==ON || _la==OFF) ) {
34022 _errHandler.recoverInline(this);
34023 }
34024 else {
34025 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34026 _errHandler.reportMatch(this);
34027 consume();
34028 }
34029 }
34030 break;
34031 case ANSI_WARNINGS:
34032 enterOuterAlt(_localctx, 4);
34033 {
34034 setState(4797);
34035 match(ANSI_WARNINGS);
34036 setState(4798);
34037 _la = _input.LA(1);
34038 if ( !(_la==ON || _la==OFF) ) {
34039 _errHandler.recoverInline(this);
34040 }
34041 else {
34042 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34043 _errHandler.reportMatch(this);
34044 consume();
34045 }
34046 }
34047 break;
34048 case ARITHABORT:
34049 enterOuterAlt(_localctx, 5);
34050 {
34051 setState(4799);
34052 match(ARITHABORT);
34053 setState(4800);
34054 _la = _input.LA(1);
34055 if ( !(_la==ON || _la==OFF) ) {
34056 _errHandler.recoverInline(this);
34057 }
34058 else {
34059 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34060 _errHandler.reportMatch(this);
34061 consume();
34062 }
34063 }
34064 break;
34065 case COMPATIBILITY_LEVEL:
34066 enterOuterAlt(_localctx, 6);
34067 {
34068 setState(4801);
34069 match(COMPATIBILITY_LEVEL);
34070 setState(4802);
34071 match(EQ_);
34072 setState(4803);
34073 match(NUMBER_);
34074 }
34075 break;
34076 case CONCAT_NULL_YIELDS_NULL:
34077 enterOuterAlt(_localctx, 7);
34078 {
34079 setState(4804);
34080 match(CONCAT_NULL_YIELDS_NULL);
34081 setState(4805);
34082 _la = _input.LA(1);
34083 if ( !(_la==ON || _la==OFF) ) {
34084 _errHandler.recoverInline(this);
34085 }
34086 else {
34087 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34088 _errHandler.reportMatch(this);
34089 consume();
34090 }
34091 }
34092 break;
34093 case NUMERIC_ROUNDABORT:
34094 enterOuterAlt(_localctx, 8);
34095 {
34096 setState(4806);
34097 match(NUMERIC_ROUNDABORT);
34098 setState(4807);
34099 _la = _input.LA(1);
34100 if ( !(_la==ON || _la==OFF) ) {
34101 _errHandler.recoverInline(this);
34102 }
34103 else {
34104 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34105 _errHandler.reportMatch(this);
34106 consume();
34107 }
34108 }
34109 break;
34110 case QUOTED_IDENTIFIER:
34111 enterOuterAlt(_localctx, 9);
34112 {
34113 setState(4808);
34114 match(QUOTED_IDENTIFIER);
34115 setState(4809);
34116 _la = _input.LA(1);
34117 if ( !(_la==ON || _la==OFF) ) {
34118 _errHandler.recoverInline(this);
34119 }
34120 else {
34121 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34122 _errHandler.reportMatch(this);
34123 consume();
34124 }
34125 }
34126 break;
34127 case RECURSIVE_TRIGGERS:
34128 enterOuterAlt(_localctx, 10);
34129 {
34130 setState(4810);
34131 match(RECURSIVE_TRIGGERS);
34132 setState(4811);
34133 _la = _input.LA(1);
34134 if ( !(_la==ON || _la==OFF) ) {
34135 _errHandler.recoverInline(this);
34136 }
34137 else {
34138 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34139 _errHandler.reportMatch(this);
34140 consume();
34141 }
34142 }
34143 break;
34144 default:
34145 throw new NoViableAltException(this);
34146 }
34147 }
34148 catch (RecognitionException re) {
34149 _localctx.exception = re;
34150 _errHandler.reportError(this, re);
34151 _errHandler.recover(this, re);
34152 }
34153 finally {
34154 exitRule();
34155 }
34156 return _localctx;
34157 }
34158
34159 public static class SnapshotOptionContext extends ParserRuleContext {
34160 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
34161 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34162 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34163 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
34164 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
34165 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34166 public SnapshotOptionContext(ParserRuleContext parent, int invokingState) {
34167 super(parent, invokingState);
34168 }
34169 @Override public int getRuleIndex() { return RULE_snapshotOption; }
34170 @Override
34171 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34172 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSnapshotOption(this);
34173 else return visitor.visitChildren(this);
34174 }
34175 }
34176
34177 public final SnapshotOptionContext snapshotOption() throws RecognitionException {
34178 SnapshotOptionContext _localctx = new SnapshotOptionContext(_ctx, getState());
34179 enterRule(_localctx, 654, RULE_snapshotOption);
34180 int _la;
34181 try {
34182 setState(4821);
34183 _errHandler.sync(this);
34184 switch (_input.LA(1)) {
34185 case ALLOW_SNAPSHOT_ISOLATION:
34186 enterOuterAlt(_localctx, 1);
34187 {
34188 setState(4814);
34189 match(ALLOW_SNAPSHOT_ISOLATION);
34190 setState(4815);
34191 _la = _input.LA(1);
34192 if ( !(_la==ON || _la==OFF) ) {
34193 _errHandler.recoverInline(this);
34194 }
34195 else {
34196 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34197 _errHandler.reportMatch(this);
34198 consume();
34199 }
34200 }
34201 break;
34202 case READ_COMMITTED_SNAPSHOT:
34203 enterOuterAlt(_localctx, 2);
34204 {
34205 setState(4816);
34206 match(READ_COMMITTED_SNAPSHOT);
34207 setState(4817);
34208 _la = _input.LA(1);
34209 if ( !(_la==ON || _la==OFF) ) {
34210 _errHandler.recoverInline(this);
34211 }
34212 else {
34213 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34214 _errHandler.reportMatch(this);
34215 consume();
34216 }
34217 }
34218 break;
34219 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
34220 enterOuterAlt(_localctx, 3);
34221 {
34222 setState(4818);
34223 match(MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT);
34224 setState(4819);
34225 match(EQ_);
34226 setState(4820);
34227 _la = _input.LA(1);
34228 if ( !(_la==ON || _la==OFF) ) {
34229 _errHandler.recoverInline(this);
34230 }
34231 else {
34232 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34233 _errHandler.reportMatch(this);
34234 consume();
34235 }
34236 }
34237 break;
34238 default:
34239 throw new NoViableAltException(this);
34240 }
34241 }
34242 catch (RecognitionException re) {
34243 _localctx.exception = re;
34244 _errHandler.reportError(this, re);
34245 _errHandler.recover(this, re);
34246 }
34247 finally {
34248 exitRule();
34249 }
34250 return _localctx;
34251 }
34252
34253 public static class ServiceBrokerOptionContext extends ParserRuleContext {
34254 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
34255 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
34256 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
34257 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
34258 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
34259 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34260 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34261 public ServiceBrokerOptionContext(ParserRuleContext parent, int invokingState) {
34262 super(parent, invokingState);
34263 }
34264 @Override public int getRuleIndex() { return RULE_serviceBrokerOption; }
34265 @Override
34266 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34267 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerOption(this);
34268 else return visitor.visitChildren(this);
34269 }
34270 }
34271
34272 public final ServiceBrokerOptionContext serviceBrokerOption() throws RecognitionException {
34273 ServiceBrokerOptionContext _localctx = new ServiceBrokerOptionContext(_ctx, getState());
34274 enterRule(_localctx, 656, RULE_serviceBrokerOption);
34275 int _la;
34276 try {
34277 setState(4829);
34278 _errHandler.sync(this);
34279 switch (_input.LA(1)) {
34280 case ENABLE_BROKER:
34281 enterOuterAlt(_localctx, 1);
34282 {
34283 setState(4823);
34284 match(ENABLE_BROKER);
34285 }
34286 break;
34287 case DISABLE_BROKER:
34288 enterOuterAlt(_localctx, 2);
34289 {
34290 setState(4824);
34291 match(DISABLE_BROKER);
34292 }
34293 break;
34294 case NEW_BROKER:
34295 enterOuterAlt(_localctx, 3);
34296 {
34297 setState(4825);
34298 match(NEW_BROKER);
34299 }
34300 break;
34301 case ERROR_BROKER_CONVERSATIONS:
34302 enterOuterAlt(_localctx, 4);
34303 {
34304 setState(4826);
34305 match(ERROR_BROKER_CONVERSATIONS);
34306 }
34307 break;
34308 case HONOR_BROKER_PRIORITY:
34309 enterOuterAlt(_localctx, 5);
34310 {
34311 setState(4827);
34312 match(HONOR_BROKER_PRIORITY);
34313 setState(4828);
34314 _la = _input.LA(1);
34315 if ( !(_la==ON || _la==OFF) ) {
34316 _errHandler.recoverInline(this);
34317 }
34318 else {
34319 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34320 _errHandler.reportMatch(this);
34321 consume();
34322 }
34323 }
34324 break;
34325 default:
34326 throw new NoViableAltException(this);
34327 }
34328 }
34329 catch (RecognitionException re) {
34330 _localctx.exception = re;
34331 _errHandler.reportError(this, re);
34332 _errHandler.recover(this, re);
34333 }
34334 finally {
34335 exitRule();
34336 }
34337 return _localctx;
34338 }
34339
34340 public static class TargetRecoveryTimeOptionContext extends ParserRuleContext {
34341 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
34342 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34343 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34344 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
34345 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
34346 public TargetRecoveryTimeOptionContext(ParserRuleContext parent, int invokingState) {
34347 super(parent, invokingState);
34348 }
34349 @Override public int getRuleIndex() { return RULE_targetRecoveryTimeOption; }
34350 @Override
34351 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34352 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTargetRecoveryTimeOption(this);
34353 else return visitor.visitChildren(this);
34354 }
34355 }
34356
34357 public final TargetRecoveryTimeOptionContext targetRecoveryTimeOption() throws RecognitionException {
34358 TargetRecoveryTimeOptionContext _localctx = new TargetRecoveryTimeOptionContext(_ctx, getState());
34359 enterRule(_localctx, 658, RULE_targetRecoveryTimeOption);
34360 int _la;
34361 try {
34362 enterOuterAlt(_localctx, 1);
34363 {
34364 setState(4831);
34365 match(TARGET_RECOVERY_TIME);
34366 setState(4832);
34367 match(EQ_);
34368 setState(4833);
34369 match(NUMBER_);
34370 setState(4834);
34371 _la = _input.LA(1);
34372 if ( !(_la==MINUTES || _la==SECONDS) ) {
34373 _errHandler.recoverInline(this);
34374 }
34375 else {
34376 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34377 _errHandler.reportMatch(this);
34378 consume();
34379 }
34380 }
34381 }
34382 catch (RecognitionException re) {
34383 _localctx.exception = re;
34384 _errHandler.reportError(this, re);
34385 _errHandler.recover(this, re);
34386 }
34387 finally {
34388 exitRule();
34389 }
34390 return _localctx;
34391 }
34392
34393 public static class TerminationContext extends ParserRuleContext {
34394 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
34395 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
34396 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34397 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
34398 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
34399 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
34400 public TerminationContext(ParserRuleContext parent, int invokingState) {
34401 super(parent, invokingState);
34402 }
34403 @Override public int getRuleIndex() { return RULE_termination; }
34404 @Override
34405 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34406 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTermination(this);
34407 else return visitor.visitChildren(this);
34408 }
34409 }
34410
34411 public final TerminationContext termination() throws RecognitionException {
34412 TerminationContext _localctx = new TerminationContext(_ctx, getState());
34413 enterRule(_localctx, 660, RULE_termination);
34414 int _la;
34415 try {
34416 setState(4845);
34417 _errHandler.sync(this);
34418 switch ( getInterpreter().adaptivePredict(_input,518,_ctx) ) {
34419 case 1:
34420 enterOuterAlt(_localctx, 1);
34421 {
34422 setState(4836);
34423 match(ROLLBACK);
34424 setState(4837);
34425 match(AFTER);
34426 setState(4838);
34427 match(NUMBER_);
34428 setState(4840);
34429 _errHandler.sync(this);
34430 _la = _input.LA(1);
34431 if (_la==SECONDS) {
34432 {
34433 setState(4839);
34434 match(SECONDS);
34435 }
34436 }
34437
34438 }
34439 break;
34440 case 2:
34441 enterOuterAlt(_localctx, 2);
34442 {
34443 setState(4842);
34444 match(ROLLBACK);
34445 setState(4843);
34446 match(IMMEDIATE);
34447 }
34448 break;
34449 case 3:
34450 enterOuterAlt(_localctx, 3);
34451 {
34452 setState(4844);
34453 match(NO_WAIT);
34454 }
34455 break;
34456 }
34457 }
34458 catch (RecognitionException re) {
34459 _localctx.exception = re;
34460 _errHandler.reportError(this, re);
34461 _errHandler.recover(this, re);
34462 }
34463 finally {
34464 exitRule();
34465 }
34466 return _localctx;
34467 }
34468
34469 public static class CreateServiceClauseContext extends ParserRuleContext {
34470 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34471 public List<ContractNameContext> contractName() {
34472 return getRuleContexts(ContractNameContext.class);
34473 }
34474 public ContractNameContext contractName(int i) {
34475 return getRuleContext(ContractNameContext.class,i);
34476 }
34477 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34478 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34479 public TerminalNode COMMA_(int i) {
34480 return getToken(SQLServerStatementParser.COMMA_, i);
34481 }
34482 public CreateServiceClauseContext(ParserRuleContext parent, int invokingState) {
34483 super(parent, invokingState);
34484 }
34485 @Override public int getRuleIndex() { return RULE_createServiceClause; }
34486 @Override
34487 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34488 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateServiceClause(this);
34489 else return visitor.visitChildren(this);
34490 }
34491 }
34492
34493 public final CreateServiceClauseContext createServiceClause() throws RecognitionException {
34494 CreateServiceClauseContext _localctx = new CreateServiceClauseContext(_ctx, getState());
34495 enterRule(_localctx, 662, RULE_createServiceClause);
34496 int _la;
34497 try {
34498 enterOuterAlt(_localctx, 1);
34499 {
34500 setState(4847);
34501 match(LP_);
34502 setState(4848);
34503 contractName();
34504 setState(4853);
34505 _errHandler.sync(this);
34506 _la = _input.LA(1);
34507 while (_la==COMMA_) {
34508 {
34509 {
34510 setState(4849);
34511 match(COMMA_);
34512 setState(4850);
34513 contractName();
34514 }
34515 }
34516 setState(4855);
34517 _errHandler.sync(this);
34518 _la = _input.LA(1);
34519 }
34520 setState(4856);
34521 match(RP_);
34522 }
34523 }
34524 catch (RecognitionException re) {
34525 _localctx.exception = re;
34526 _errHandler.reportError(this, re);
34527 _errHandler.recover(this, re);
34528 }
34529 finally {
34530 exitRule();
34531 }
34532 return _localctx;
34533 }
34534
34535 public static class AlterServiceClauseContext extends ParserRuleContext {
34536 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34537 public List<AlterServiceOptArgContext> alterServiceOptArg() {
34538 return getRuleContexts(AlterServiceOptArgContext.class);
34539 }
34540 public AlterServiceOptArgContext alterServiceOptArg(int i) {
34541 return getRuleContext(AlterServiceOptArgContext.class,i);
34542 }
34543 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34544 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34545 public TerminalNode COMMA_(int i) {
34546 return getToken(SQLServerStatementParser.COMMA_, i);
34547 }
34548 public AlterServiceClauseContext(ParserRuleContext parent, int invokingState) {
34549 super(parent, invokingState);
34550 }
34551 @Override public int getRuleIndex() { return RULE_alterServiceClause; }
34552 @Override
34553 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34554 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceClause(this);
34555 else return visitor.visitChildren(this);
34556 }
34557 }
34558
34559 public final AlterServiceClauseContext alterServiceClause() throws RecognitionException {
34560 AlterServiceClauseContext _localctx = new AlterServiceClauseContext(_ctx, getState());
34561 enterRule(_localctx, 664, RULE_alterServiceClause);
34562 int _la;
34563 try {
34564 enterOuterAlt(_localctx, 1);
34565 {
34566 setState(4858);
34567 match(LP_);
34568 setState(4859);
34569 alterServiceOptArg();
34570 setState(4864);
34571 _errHandler.sync(this);
34572 _la = _input.LA(1);
34573 while (_la==COMMA_) {
34574 {
34575 {
34576 setState(4860);
34577 match(COMMA_);
34578 setState(4861);
34579 alterServiceOptArg();
34580 }
34581 }
34582 setState(4866);
34583 _errHandler.sync(this);
34584 _la = _input.LA(1);
34585 }
34586 setState(4867);
34587 match(RP_);
34588 }
34589 }
34590 catch (RecognitionException re) {
34591 _localctx.exception = re;
34592 _errHandler.reportError(this, re);
34593 _errHandler.recover(this, re);
34594 }
34595 finally {
34596 exitRule();
34597 }
34598 return _localctx;
34599 }
34600
34601 public static class AlterServiceOptArgContext extends ParserRuleContext {
34602 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
34603 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
34604 public ContractNameContext contractName() {
34605 return getRuleContext(ContractNameContext.class,0);
34606 }
34607 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
34608 public AlterServiceOptArgContext(ParserRuleContext parent, int invokingState) {
34609 super(parent, invokingState);
34610 }
34611 @Override public int getRuleIndex() { return RULE_alterServiceOptArg; }
34612 @Override
34613 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34614 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceOptArg(this);
34615 else return visitor.visitChildren(this);
34616 }
34617 }
34618
34619 public final AlterServiceOptArgContext alterServiceOptArg() throws RecognitionException {
34620 AlterServiceOptArgContext _localctx = new AlterServiceOptArgContext(_ctx, getState());
34621 enterRule(_localctx, 666, RULE_alterServiceOptArg);
34622 try {
34623 setState(4875);
34624 _errHandler.sync(this);
34625 switch (_input.LA(1)) {
34626 case ADD:
34627 enterOuterAlt(_localctx, 1);
34628 {
34629 setState(4869);
34630 match(ADD);
34631 setState(4870);
34632 match(CONTRACT);
34633 setState(4871);
34634 contractName();
34635 }
34636 break;
34637 case DROP:
34638 enterOuterAlt(_localctx, 2);
34639 {
34640 setState(4872);
34641 match(DROP);
34642 setState(4873);
34643 match(CONTRACT);
34644 setState(4874);
34645 contractName();
34646 }
34647 break;
34648 default:
34649 throw new NoViableAltException(this);
34650 }
34651 }
34652 catch (RecognitionException re) {
34653 _localctx.exception = re;
34654 _errHandler.reportError(this, re);
34655 _errHandler.recover(this, re);
34656 }
34657 finally {
34658 exitRule();
34659 }
34660 return _localctx;
34661 }
34662
34663 public static class SchemaNameClauseContext extends ParserRuleContext {
34664 public SchemaNameContext schemaName() {
34665 return getRuleContext(SchemaNameContext.class,0);
34666 }
34667 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
34668 public IgnoredIdentifierContext ignoredIdentifier() {
34669 return getRuleContext(IgnoredIdentifierContext.class,0);
34670 }
34671 public SchemaNameClauseContext(ParserRuleContext parent, int invokingState) {
34672 super(parent, invokingState);
34673 }
34674 @Override public int getRuleIndex() { return RULE_schemaNameClause; }
34675 @Override
34676 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34677 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaNameClause(this);
34678 else return visitor.visitChildren(this);
34679 }
34680 }
34681
34682 public final SchemaNameClauseContext schemaNameClause() throws RecognitionException {
34683 SchemaNameClauseContext _localctx = new SchemaNameClauseContext(_ctx, getState());
34684 enterRule(_localctx, 668, RULE_schemaNameClause);
34685 try {
34686 setState(4884);
34687 _errHandler.sync(this);
34688 switch ( getInterpreter().adaptivePredict(_input,522,_ctx) ) {
34689 case 1:
34690 enterOuterAlt(_localctx, 1);
34691 {
34692 setState(4877);
34693 schemaName();
34694 }
34695 break;
34696 case 2:
34697 enterOuterAlt(_localctx, 2);
34698 {
34699 setState(4878);
34700 match(AUTHORIZATION);
34701 setState(4879);
34702 ignoredIdentifier();
34703 }
34704 break;
34705 case 3:
34706 enterOuterAlt(_localctx, 3);
34707 {
34708 setState(4880);
34709 schemaName();
34710 setState(4881);
34711 match(AUTHORIZATION);
34712 setState(4882);
34713 ignoredIdentifier();
34714 }
34715 break;
34716 }
34717 }
34718 catch (RecognitionException re) {
34719 _localctx.exception = re;
34720 _errHandler.reportError(this, re);
34721 _errHandler.recover(this, re);
34722 }
34723 finally {
34724 exitRule();
34725 }
34726 return _localctx;
34727 }
34728
34729 public static class SchemaElementContext extends ParserRuleContext {
34730 public CreateTableContext createTable() {
34731 return getRuleContext(CreateTableContext.class,0);
34732 }
34733 public CreateViewContext createView() {
34734 return getRuleContext(CreateViewContext.class,0);
34735 }
34736 public GrantContext grant() {
34737 return getRuleContext(GrantContext.class,0);
34738 }
34739 public RevokeContext revoke() {
34740 return getRuleContext(RevokeContext.class,0);
34741 }
34742 public DenyContext deny() {
34743 return getRuleContext(DenyContext.class,0);
34744 }
34745 public SchemaElementContext(ParserRuleContext parent, int invokingState) {
34746 super(parent, invokingState);
34747 }
34748 @Override public int getRuleIndex() { return RULE_schemaElement; }
34749 @Override
34750 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34751 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaElement(this);
34752 else return visitor.visitChildren(this);
34753 }
34754 }
34755
34756 public final SchemaElementContext schemaElement() throws RecognitionException {
34757 SchemaElementContext _localctx = new SchemaElementContext(_ctx, getState());
34758 enterRule(_localctx, 670, RULE_schemaElement);
34759 try {
34760 setState(4891);
34761 _errHandler.sync(this);
34762 switch ( getInterpreter().adaptivePredict(_input,523,_ctx) ) {
34763 case 1:
34764 enterOuterAlt(_localctx, 1);
34765 {
34766 setState(4886);
34767 createTable();
34768 }
34769 break;
34770 case 2:
34771 enterOuterAlt(_localctx, 2);
34772 {
34773 setState(4887);
34774 createView();
34775 }
34776 break;
34777 case 3:
34778 enterOuterAlt(_localctx, 3);
34779 {
34780 setState(4888);
34781 grant();
34782 }
34783 break;
34784 case 4:
34785 enterOuterAlt(_localctx, 4);
34786 {
34787 setState(4889);
34788 revoke();
34789 }
34790 break;
34791 case 5:
34792 enterOuterAlt(_localctx, 5);
34793 {
34794 setState(4890);
34795 deny();
34796 }
34797 break;
34798 }
34799 }
34800 catch (RecognitionException re) {
34801 _localctx.exception = re;
34802 _errHandler.reportError(this, re);
34803 _errHandler.recover(this, re);
34804 }
34805 finally {
34806 exitRule();
34807 }
34808 return _localctx;
34809 }
34810
34811 public static class CreateTableAsSelectClauseContext extends ParserRuleContext {
34812 public CreateTableAsSelectContext createTableAsSelect() {
34813 return getRuleContext(CreateTableAsSelectContext.class,0);
34814 }
34815 public CreateRemoteTableAsSelectContext createRemoteTableAsSelect() {
34816 return getRuleContext(CreateRemoteTableAsSelectContext.class,0);
34817 }
34818 public CreateTableAsSelectClauseContext(ParserRuleContext parent, int invokingState) {
34819 super(parent, invokingState);
34820 }
34821 @Override public int getRuleIndex() { return RULE_createTableAsSelectClause; }
34822 @Override
34823 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34824 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelectClause(this);
34825 else return visitor.visitChildren(this);
34826 }
34827 }
34828
34829 public final CreateTableAsSelectClauseContext createTableAsSelectClause() throws RecognitionException {
34830 CreateTableAsSelectClauseContext _localctx = new CreateTableAsSelectClauseContext(_ctx, getState());
34831 enterRule(_localctx, 672, RULE_createTableAsSelectClause);
34832 try {
34833 setState(4895);
34834 _errHandler.sync(this);
34835 switch ( getInterpreter().adaptivePredict(_input,524,_ctx) ) {
34836 case 1:
34837 enterOuterAlt(_localctx, 1);
34838 {
34839 setState(4893);
34840 createTableAsSelect();
34841 }
34842 break;
34843 case 2:
34844 enterOuterAlt(_localctx, 2);
34845 {
34846 setState(4894);
34847 createRemoteTableAsSelect();
34848 }
34849 break;
34850 }
34851 }
34852 catch (RecognitionException re) {
34853 _localctx.exception = re;
34854 _errHandler.reportError(this, re);
34855 _errHandler.recover(this, re);
34856 }
34857 finally {
34858 exitRule();
34859 }
34860 return _localctx;
34861 }
34862
34863 public static class CreateTableAsSelectContext extends ParserRuleContext {
34864 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
34865 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
34866 public TableNameContext tableName() {
34867 return getRuleContext(TableNameContext.class,0);
34868 }
34869 public WithDistributionOptionContext withDistributionOption() {
34870 return getRuleContext(WithDistributionOptionContext.class,0);
34871 }
34872 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
34873 public SelectContext select() {
34874 return getRuleContext(SelectContext.class,0);
34875 }
34876 public OptionQueryHintClauseContext optionQueryHintClause() {
34877 return getRuleContext(OptionQueryHintClauseContext.class,0);
34878 }
34879 public ColumnNamesContext columnNames() {
34880 return getRuleContext(ColumnNamesContext.class,0);
34881 }
34882 public CreateTableAsSelectContext(ParserRuleContext parent, int invokingState) {
34883 super(parent, invokingState);
34884 }
34885 @Override public int getRuleIndex() { return RULE_createTableAsSelect; }
34886 @Override
34887 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34888 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelect(this);
34889 else return visitor.visitChildren(this);
34890 }
34891 }
34892
34893 public final CreateTableAsSelectContext createTableAsSelect() throws RecognitionException {
34894 CreateTableAsSelectContext _localctx = new CreateTableAsSelectContext(_ctx, getState());
34895 enterRule(_localctx, 674, RULE_createTableAsSelect);
34896 int _la;
34897 try {
34898 enterOuterAlt(_localctx, 1);
34899 {
34900 setState(4897);
34901 match(CREATE);
34902 setState(4898);
34903 match(TABLE);
34904 setState(4899);
34905 tableName();
34906 setState(4901);
34907 _errHandler.sync(this);
34908 _la = _input.LA(1);
34909 if (_la==LP_) {
34910 {
34911 setState(4900);
34912 columnNames();
34913 }
34914 }
34915
34916 setState(4903);
34917 withDistributionOption();
34918 setState(4904);
34919 match(AS);
34920 setState(4905);
34921 select();
34922 setState(4906);
34923 optionQueryHintClause();
34924 }
34925 }
34926 catch (RecognitionException re) {
34927 _localctx.exception = re;
34928 _errHandler.reportError(this, re);
34929 _errHandler.recover(this, re);
34930 }
34931 finally {
34932 exitRule();
34933 }
34934 return _localctx;
34935 }
34936
34937 public static class CreateRemoteTableAsSelectContext extends ParserRuleContext {
34938 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
34939 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
34940 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
34941 public TableNameContext tableName() {
34942 return getRuleContext(TableNameContext.class,0);
34943 }
34944 public TerminalNode AT() { return getToken(SQLServerStatementParser.AT, 0); }
34945 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
34946 public TerminalNode LP_(int i) {
34947 return getToken(SQLServerStatementParser.LP_, i);
34948 }
34949 public StringLiteralsContext stringLiterals() {
34950 return getRuleContext(StringLiteralsContext.class,0);
34951 }
34952 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
34953 public TerminalNode RP_(int i) {
34954 return getToken(SQLServerStatementParser.RP_, i);
34955 }
34956 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
34957 public SelectContext select() {
34958 return getRuleContext(SelectContext.class,0);
34959 }
34960 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
34961 public TerminalNode BATCH_SIZE() { return getToken(SQLServerStatementParser.BATCH_SIZE, 0); }
34962 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34963 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
34964 public CreateRemoteTableAsSelectContext(ParserRuleContext parent, int invokingState) {
34965 super(parent, invokingState);
34966 }
34967 @Override public int getRuleIndex() { return RULE_createRemoteTableAsSelect; }
34968 @Override
34969 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34970 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRemoteTableAsSelect(this);
34971 else return visitor.visitChildren(this);
34972 }
34973 }
34974
34975 public final CreateRemoteTableAsSelectContext createRemoteTableAsSelect() throws RecognitionException {
34976 CreateRemoteTableAsSelectContext _localctx = new CreateRemoteTableAsSelectContext(_ctx, getState());
34977 enterRule(_localctx, 676, RULE_createRemoteTableAsSelect);
34978 int _la;
34979 try {
34980 enterOuterAlt(_localctx, 1);
34981 {
34982 setState(4908);
34983 match(CREATE);
34984 setState(4909);
34985 match(REMOTE);
34986 setState(4910);
34987 match(TABLE);
34988 setState(4911);
34989 tableName();
34990 setState(4912);
34991 match(AT);
34992 setState(4913);
34993 match(LP_);
34994 setState(4914);
34995 stringLiterals();
34996 setState(4915);
34997 match(RP_);
34998 setState(4922);
34999 _errHandler.sync(this);
35000 _la = _input.LA(1);
35001 if (_la==WITH) {
35002 {
35003 setState(4916);
35004 match(WITH);
35005 setState(4917);
35006 match(LP_);
35007 setState(4918);
35008 match(BATCH_SIZE);
35009 setState(4919);
35010 match(EQ_);
35011 setState(4920);
35012 match(INT_NUM_);
35013 setState(4921);
35014 match(RP_);
35015 }
35016 }
35017
35018 setState(4924);
35019 match(AS);
35020 setState(4925);
35021 select();
35022 }
35023 }
35024 catch (RecognitionException re) {
35025 _localctx.exception = re;
35026 _errHandler.reportError(this, re);
35027 _errHandler.recover(this, re);
35028 }
35029 finally {
35030 exitRule();
35031 }
35032 return _localctx;
35033 }
35034
35035 public static class WithDistributionOptionContext extends ParserRuleContext {
35036 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
35037 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35038 public DistributionOptionContext distributionOption() {
35039 return getRuleContext(DistributionOptionContext.class,0);
35040 }
35041 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35042 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35043 public TerminalNode COMMA_(int i) {
35044 return getToken(SQLServerStatementParser.COMMA_, i);
35045 }
35046 public List<TableOptionContext> tableOption() {
35047 return getRuleContexts(TableOptionContext.class);
35048 }
35049 public TableOptionContext tableOption(int i) {
35050 return getRuleContext(TableOptionContext.class,i);
35051 }
35052 public WithDistributionOptionContext(ParserRuleContext parent, int invokingState) {
35053 super(parent, invokingState);
35054 }
35055 @Override public int getRuleIndex() { return RULE_withDistributionOption; }
35056 @Override
35057 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35058 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithDistributionOption(this);
35059 else return visitor.visitChildren(this);
35060 }
35061 }
35062
35063 public final WithDistributionOptionContext withDistributionOption() throws RecognitionException {
35064 WithDistributionOptionContext _localctx = new WithDistributionOptionContext(_ctx, getState());
35065 enterRule(_localctx, 678, RULE_withDistributionOption);
35066 int _la;
35067 try {
35068 enterOuterAlt(_localctx, 1);
35069 {
35070 setState(4927);
35071 match(WITH);
35072 setState(4928);
35073 match(LP_);
35074 setState(4929);
35075 distributionOption();
35076 setState(4939);
35077 _errHandler.sync(this);
35078 _la = _input.LA(1);
35079 if (_la==COMMA_) {
35080 {
35081 setState(4930);
35082 match(COMMA_);
35083 setState(4931);
35084 tableOption();
35085 setState(4936);
35086 _errHandler.sync(this);
35087 _la = _input.LA(1);
35088 while (_la==COMMA_) {
35089 {
35090 {
35091 setState(4932);
35092 match(COMMA_);
35093 setState(4933);
35094 tableOption();
35095 }
35096 }
35097 setState(4938);
35098 _errHandler.sync(this);
35099 _la = _input.LA(1);
35100 }
35101 }
35102 }
35103
35104 setState(4941);
35105 match(RP_);
35106 }
35107 }
35108 catch (RecognitionException re) {
35109 _localctx.exception = re;
35110 _errHandler.reportError(this, re);
35111 _errHandler.recover(this, re);
35112 }
35113 finally {
35114 exitRule();
35115 }
35116 return _localctx;
35117 }
35118
35119 public static class OptionQueryHintClauseContext extends ParserRuleContext {
35120 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
35121 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35122 public List<QueryHintContext> queryHint() {
35123 return getRuleContexts(QueryHintContext.class);
35124 }
35125 public QueryHintContext queryHint(int i) {
35126 return getRuleContext(QueryHintContext.class,i);
35127 }
35128 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35129 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35130 public TerminalNode COMMA_(int i) {
35131 return getToken(SQLServerStatementParser.COMMA_, i);
35132 }
35133 public OptionQueryHintClauseContext(ParserRuleContext parent, int invokingState) {
35134 super(parent, invokingState);
35135 }
35136 @Override public int getRuleIndex() { return RULE_optionQueryHintClause; }
35137 @Override
35138 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35139 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionQueryHintClause(this);
35140 else return visitor.visitChildren(this);
35141 }
35142 }
35143
35144 public final OptionQueryHintClauseContext optionQueryHintClause() throws RecognitionException {
35145 OptionQueryHintClauseContext _localctx = new OptionQueryHintClauseContext(_ctx, getState());
35146 enterRule(_localctx, 680, RULE_optionQueryHintClause);
35147 int _la;
35148 try {
35149 enterOuterAlt(_localctx, 1);
35150 {
35151 setState(4955);
35152 _errHandler.sync(this);
35153 _la = _input.LA(1);
35154 if (_la==OPTION) {
35155 {
35156 setState(4943);
35157 match(OPTION);
35158 setState(4944);
35159 match(LP_);
35160 setState(4945);
35161 queryHint();
35162 setState(4950);
35163 _errHandler.sync(this);
35164 _la = _input.LA(1);
35165 while (_la==COMMA_) {
35166 {
35167 {
35168 setState(4946);
35169 match(COMMA_);
35170 setState(4947);
35171 queryHint();
35172 }
35173 }
35174 setState(4952);
35175 _errHandler.sync(this);
35176 _la = _input.LA(1);
35177 }
35178 setState(4953);
35179 match(RP_);
35180 }
35181 }
35182
35183 }
35184 }
35185 catch (RecognitionException re) {
35186 _localctx.exception = re;
35187 _errHandler.reportError(this, re);
35188 _errHandler.recover(this, re);
35189 }
35190 finally {
35191 exitRule();
35192 }
35193 return _localctx;
35194 }
35195
35196 public static class InsertContext extends ParserRuleContext {
35197 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
35198 public TableNameContext tableName() {
35199 return getRuleContext(TableNameContext.class,0);
35200 }
35201 public InsertDefaultValueContext insertDefaultValue() {
35202 return getRuleContext(InsertDefaultValueContext.class,0);
35203 }
35204 public InsertValuesClauseContext insertValuesClause() {
35205 return getRuleContext(InsertValuesClauseContext.class,0);
35206 }
35207 public InsertSelectClauseContext insertSelectClause() {
35208 return getRuleContext(InsertSelectClauseContext.class,0);
35209 }
35210 public InsertExecClauseContext insertExecClause() {
35211 return getRuleContext(InsertExecClauseContext.class,0);
35212 }
35213 public WithClauseContext withClause() {
35214 return getRuleContext(WithClauseContext.class,0);
35215 }
35216 public TopContext top() {
35217 return getRuleContext(TopContext.class,0);
35218 }
35219 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
35220 public AliasContext alias() {
35221 return getRuleContext(AliasContext.class,0);
35222 }
35223 public WithTableHintContext withTableHint() {
35224 return getRuleContext(WithTableHintContext.class,0);
35225 }
35226 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
35227 public InsertContext(ParserRuleContext parent, int invokingState) {
35228 super(parent, invokingState);
35229 }
35230 @Override public int getRuleIndex() { return RULE_insert; }
35231 @Override
35232 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35233 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsert(this);
35234 else return visitor.visitChildren(this);
35235 }
35236 }
35237
35238 public final InsertContext insert() throws RecognitionException {
35239 InsertContext _localctx = new InsertContext(_ctx, getState());
35240 enterRule(_localctx, 682, RULE_insert);
35241 int _la;
35242 try {
35243 enterOuterAlt(_localctx, 1);
35244 {
35245 setState(4958);
35246 _errHandler.sync(this);
35247 _la = _input.LA(1);
35248 if (_la==WITH) {
35249 {
35250 setState(4957);
35251 withClause();
35252 }
35253 }
35254
35255 setState(4960);
35256 match(INSERT);
35257 setState(4962);
35258 _errHandler.sync(this);
35259 switch ( getInterpreter().adaptivePredict(_input,532,_ctx) ) {
35260 case 1:
35261 {
35262 setState(4961);
35263 top();
35264 }
35265 break;
35266 }
35267 setState(4965);
35268 _errHandler.sync(this);
35269 _la = _input.LA(1);
35270 if (_la==INTO) {
35271 {
35272 setState(4964);
35273 match(INTO);
35274 }
35275 }
35276
35277 setState(4967);
35278 tableName();
35279 setState(4972);
35280 _errHandler.sync(this);
35281 switch ( getInterpreter().adaptivePredict(_input,535,_ctx) ) {
35282 case 1:
35283 {
35284 setState(4969);
35285 _errHandler.sync(this);
35286 _la = _input.LA(1);
35287 if (_la==AS) {
35288 {
35289 setState(4968);
35290 match(AS);
35291 }
35292 }
35293
35294 setState(4971);
35295 alias();
35296 }
35297 break;
35298 }
35299 setState(4975);
35300 _errHandler.sync(this);
35301 switch ( getInterpreter().adaptivePredict(_input,536,_ctx) ) {
35302 case 1:
35303 {
35304 setState(4974);
35305 withTableHint();
35306 }
35307 break;
35308 }
35309 setState(4981);
35310 _errHandler.sync(this);
35311 switch ( getInterpreter().adaptivePredict(_input,537,_ctx) ) {
35312 case 1:
35313 {
35314 setState(4977);
35315 insertDefaultValue();
35316 }
35317 break;
35318 case 2:
35319 {
35320 setState(4978);
35321 insertValuesClause();
35322 }
35323 break;
35324 case 3:
35325 {
35326 setState(4979);
35327 insertSelectClause();
35328 }
35329 break;
35330 case 4:
35331 {
35332 setState(4980);
35333 insertExecClause();
35334 }
35335 break;
35336 }
35337 }
35338 }
35339 catch (RecognitionException re) {
35340 _localctx.exception = re;
35341 _errHandler.reportError(this, re);
35342 _errHandler.recover(this, re);
35343 }
35344 finally {
35345 exitRule();
35346 }
35347 return _localctx;
35348 }
35349
35350 public static class InsertDefaultValueContext extends ParserRuleContext {
35351 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
35352 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
35353 public ColumnNamesContext columnNames() {
35354 return getRuleContext(ColumnNamesContext.class,0);
35355 }
35356 public OutputClauseContext outputClause() {
35357 return getRuleContext(OutputClauseContext.class,0);
35358 }
35359 public InsertDefaultValueContext(ParserRuleContext parent, int invokingState) {
35360 super(parent, invokingState);
35361 }
35362 @Override public int getRuleIndex() { return RULE_insertDefaultValue; }
35363 @Override
35364 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35365 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertDefaultValue(this);
35366 else return visitor.visitChildren(this);
35367 }
35368 }
35369
35370 public final InsertDefaultValueContext insertDefaultValue() throws RecognitionException {
35371 InsertDefaultValueContext _localctx = new InsertDefaultValueContext(_ctx, getState());
35372 enterRule(_localctx, 684, RULE_insertDefaultValue);
35373 int _la;
35374 try {
35375 enterOuterAlt(_localctx, 1);
35376 {
35377 setState(4984);
35378 _errHandler.sync(this);
35379 _la = _input.LA(1);
35380 if (_la==LP_) {
35381 {
35382 setState(4983);
35383 columnNames();
35384 }
35385 }
35386
35387 setState(4987);
35388 _errHandler.sync(this);
35389 _la = _input.LA(1);
35390 if (_la==OUTPUT) {
35391 {
35392 setState(4986);
35393 outputClause();
35394 }
35395 }
35396
35397 setState(4989);
35398 match(DEFAULT);
35399 setState(4990);
35400 match(VALUES);
35401 }
35402 }
35403 catch (RecognitionException re) {
35404 _localctx.exception = re;
35405 _errHandler.reportError(this, re);
35406 _errHandler.recover(this, re);
35407 }
35408 finally {
35409 exitRule();
35410 }
35411 return _localctx;
35412 }
35413
35414 public static class InsertValuesClauseContext extends ParserRuleContext {
35415 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
35416 public List<AssignmentValuesContext> assignmentValues() {
35417 return getRuleContexts(AssignmentValuesContext.class);
35418 }
35419 public AssignmentValuesContext assignmentValues(int i) {
35420 return getRuleContext(AssignmentValuesContext.class,i);
35421 }
35422 public ColumnNamesContext columnNames() {
35423 return getRuleContext(ColumnNamesContext.class,0);
35424 }
35425 public OutputClauseContext outputClause() {
35426 return getRuleContext(OutputClauseContext.class,0);
35427 }
35428 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35429 public TerminalNode COMMA_(int i) {
35430 return getToken(SQLServerStatementParser.COMMA_, i);
35431 }
35432 public InsertValuesClauseContext(ParserRuleContext parent, int invokingState) {
35433 super(parent, invokingState);
35434 }
35435 @Override public int getRuleIndex() { return RULE_insertValuesClause; }
35436 @Override
35437 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35438 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertValuesClause(this);
35439 else return visitor.visitChildren(this);
35440 }
35441 }
35442
35443 public final InsertValuesClauseContext insertValuesClause() throws RecognitionException {
35444 InsertValuesClauseContext _localctx = new InsertValuesClauseContext(_ctx, getState());
35445 enterRule(_localctx, 686, RULE_insertValuesClause);
35446 int _la;
35447 try {
35448 enterOuterAlt(_localctx, 1);
35449 {
35450 setState(4993);
35451 _errHandler.sync(this);
35452 _la = _input.LA(1);
35453 if (_la==LP_) {
35454 {
35455 setState(4992);
35456 columnNames();
35457 }
35458 }
35459
35460 setState(4996);
35461 _errHandler.sync(this);
35462 _la = _input.LA(1);
35463 if (_la==OUTPUT) {
35464 {
35465 setState(4995);
35466 outputClause();
35467 }
35468 }
35469
35470 setState(4998);
35471 match(VALUES);
35472 setState(4999);
35473 assignmentValues();
35474 setState(5004);
35475 _errHandler.sync(this);
35476 _la = _input.LA(1);
35477 while (_la==COMMA_) {
35478 {
35479 {
35480 setState(5000);
35481 match(COMMA_);
35482 setState(5001);
35483 assignmentValues();
35484 }
35485 }
35486 setState(5006);
35487 _errHandler.sync(this);
35488 _la = _input.LA(1);
35489 }
35490 }
35491 }
35492 catch (RecognitionException re) {
35493 _localctx.exception = re;
35494 _errHandler.reportError(this, re);
35495 _errHandler.recover(this, re);
35496 }
35497 finally {
35498 exitRule();
35499 }
35500 return _localctx;
35501 }
35502
35503 public static class InsertSelectClauseContext extends ParserRuleContext {
35504 public SelectContext select() {
35505 return getRuleContext(SelectContext.class,0);
35506 }
35507 public ColumnNamesContext columnNames() {
35508 return getRuleContext(ColumnNamesContext.class,0);
35509 }
35510 public OutputClauseContext outputClause() {
35511 return getRuleContext(OutputClauseContext.class,0);
35512 }
35513 public InsertSelectClauseContext(ParserRuleContext parent, int invokingState) {
35514 super(parent, invokingState);
35515 }
35516 @Override public int getRuleIndex() { return RULE_insertSelectClause; }
35517 @Override
35518 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35519 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertSelectClause(this);
35520 else return visitor.visitChildren(this);
35521 }
35522 }
35523
35524 public final InsertSelectClauseContext insertSelectClause() throws RecognitionException {
35525 InsertSelectClauseContext _localctx = new InsertSelectClauseContext(_ctx, getState());
35526 enterRule(_localctx, 688, RULE_insertSelectClause);
35527 int _la;
35528 try {
35529 enterOuterAlt(_localctx, 1);
35530 {
35531 setState(5008);
35532 _errHandler.sync(this);
35533 _la = _input.LA(1);
35534 if (_la==LP_) {
35535 {
35536 setState(5007);
35537 columnNames();
35538 }
35539 }
35540
35541 setState(5011);
35542 _errHandler.sync(this);
35543 _la = _input.LA(1);
35544 if (_la==OUTPUT) {
35545 {
35546 setState(5010);
35547 outputClause();
35548 }
35549 }
35550
35551 setState(5013);
35552 select();
35553 }
35554 }
35555 catch (RecognitionException re) {
35556 _localctx.exception = re;
35557 _errHandler.reportError(this, re);
35558 _errHandler.recover(this, re);
35559 }
35560 finally {
35561 exitRule();
35562 }
35563 return _localctx;
35564 }
35565
35566 public static class InsertExecClauseContext extends ParserRuleContext {
35567 public ExecContext exec() {
35568 return getRuleContext(ExecContext.class,0);
35569 }
35570 public ColumnNamesContext columnNames() {
35571 return getRuleContext(ColumnNamesContext.class,0);
35572 }
35573 public InsertExecClauseContext(ParserRuleContext parent, int invokingState) {
35574 super(parent, invokingState);
35575 }
35576 @Override public int getRuleIndex() { return RULE_insertExecClause; }
35577 @Override
35578 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35579 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertExecClause(this);
35580 else return visitor.visitChildren(this);
35581 }
35582 }
35583
35584 public final InsertExecClauseContext insertExecClause() throws RecognitionException {
35585 InsertExecClauseContext _localctx = new InsertExecClauseContext(_ctx, getState());
35586 enterRule(_localctx, 690, RULE_insertExecClause);
35587 int _la;
35588 try {
35589 enterOuterAlt(_localctx, 1);
35590 {
35591 setState(5016);
35592 _errHandler.sync(this);
35593 _la = _input.LA(1);
35594 if (_la==LP_) {
35595 {
35596 setState(5015);
35597 columnNames();
35598 }
35599 }
35600
35601 setState(5018);
35602 exec();
35603 }
35604 }
35605 catch (RecognitionException re) {
35606 _localctx.exception = re;
35607 _errHandler.reportError(this, re);
35608 _errHandler.recover(this, re);
35609 }
35610 finally {
35611 exitRule();
35612 }
35613 return _localctx;
35614 }
35615
35616 public static class WithTableHintContext extends ParserRuleContext {
35617 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
35618 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35619 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35620 public List<TableHintLimitedContext> tableHintLimited() {
35621 return getRuleContexts(TableHintLimitedContext.class);
35622 }
35623 public TableHintLimitedContext tableHintLimited(int i) {
35624 return getRuleContext(TableHintLimitedContext.class,i);
35625 }
35626 public WithTableHintContext(ParserRuleContext parent, int invokingState) {
35627 super(parent, invokingState);
35628 }
35629 @Override public int getRuleIndex() { return RULE_withTableHint; }
35630 @Override
35631 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35632 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithTableHint(this);
35633 else return visitor.visitChildren(this);
35634 }
35635 }
35636
35637 public final WithTableHintContext withTableHint() throws RecognitionException {
35638 WithTableHintContext _localctx = new WithTableHintContext(_ctx, getState());
35639 enterRule(_localctx, 692, RULE_withTableHint);
35640 int _la;
35641 try {
35642 enterOuterAlt(_localctx, 1);
35643 {
35644 setState(5020);
35645 match(WITH);
35646 setState(5021);
35647 match(LP_);
35648 {
35649 setState(5023);
35650 _errHandler.sync(this);
35651 _la = _input.LA(1);
35652 do {
35653 {
35654 {
35655 setState(5022);
35656 tableHintLimited();
35657 }
35658 }
35659 setState(5025);
35660 _errHandler.sync(this);
35661 _la = _input.LA(1);
35662 } while ( ((((_la - 216)) & ~0x3f) == 0 && ((1L << (_la - 216)) & ((1L << (KEEPIDENTITY - 216)) | (1L << (KEEPDEFAULTS - 216)) | (1L << (HOLDLOCK - 216)) | (1L << (IGNORE_CONSTRAINTS - 216)) | (1L << (IGNORE_TRIGGERS - 216)) | (1L << (NOLOCK - 216)) | (1L << (NOWAIT - 216)) | (1L << (PAGLOCK - 216)) | (1L << (READCOMMITTED - 216)) | (1L << (READCOMMITTEDLOCK - 216)) | (1L << (READPAST - 216)) | (1L << (REPEATABLEREAD - 216)) | (1L << (ROWLOCK - 216)) | (1L << (TABLOCK - 216)) | (1L << (TABLOCKX - 216)) | (1L << (UPDLOCK - 216)) | (1L << (XLOCK - 216)))) != 0) || _la==SNAPSHOT || _la==SERIALIZABLE );
35663 }
35664 setState(5027);
35665 match(RP_);
35666 }
35667 }
35668 catch (RecognitionException re) {
35669 _localctx.exception = re;
35670 _errHandler.reportError(this, re);
35671 _errHandler.recover(this, re);
35672 }
35673 finally {
35674 exitRule();
35675 }
35676 return _localctx;
35677 }
35678
35679 public static class ExecContext extends ParserRuleContext {
35680 public ProcedureNameContext procedureName() {
35681 return getRuleContext(ProcedureNameContext.class,0);
35682 }
35683 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
35684 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
35685 public List<ExprContext> expr() {
35686 return getRuleContexts(ExprContext.class);
35687 }
35688 public ExprContext expr(int i) {
35689 return getRuleContext(ExprContext.class,i);
35690 }
35691 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35692 public TerminalNode COMMA_(int i) {
35693 return getToken(SQLServerStatementParser.COMMA_, i);
35694 }
35695 public ExecContext(ParserRuleContext parent, int invokingState) {
35696 super(parent, invokingState);
35697 }
35698 @Override public int getRuleIndex() { return RULE_exec; }
35699 @Override
35700 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35701 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExec(this);
35702 else return visitor.visitChildren(this);
35703 }
35704 }
35705
35706 public final ExecContext exec() throws RecognitionException {
35707 ExecContext _localctx = new ExecContext(_ctx, getState());
35708 enterRule(_localctx, 694, RULE_exec);
35709 int _la;
35710 try {
35711 enterOuterAlt(_localctx, 1);
35712 {
35713 setState(5029);
35714 _la = _input.LA(1);
35715 if ( !(_la==EXECUTE || _la==EXEC) ) {
35716 _errHandler.recoverInline(this);
35717 }
35718 else {
35719 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35720 _errHandler.reportMatch(this);
35721 consume();
35722 }
35723 setState(5030);
35724 procedureName();
35725 setState(5039);
35726 _errHandler.sync(this);
35727 switch ( getInterpreter().adaptivePredict(_input,548,_ctx) ) {
35728 case 1:
35729 {
35730 setState(5031);
35731 expr(0);
35732 setState(5036);
35733 _errHandler.sync(this);
35734 _la = _input.LA(1);
35735 while (_la==COMMA_) {
35736 {
35737 {
35738 setState(5032);
35739 match(COMMA_);
35740 setState(5033);
35741 expr(0);
35742 }
35743 }
35744 setState(5038);
35745 _errHandler.sync(this);
35746 _la = _input.LA(1);
35747 }
35748 }
35749 break;
35750 }
35751 }
35752 }
35753 catch (RecognitionException re) {
35754 _localctx.exception = re;
35755 _errHandler.reportError(this, re);
35756 _errHandler.recover(this, re);
35757 }
35758 finally {
35759 exitRule();
35760 }
35761 return _localctx;
35762 }
35763
35764 public static class UpdateContext extends ParserRuleContext {
35765 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
35766 public TableReferencesContext tableReferences() {
35767 return getRuleContext(TableReferencesContext.class,0);
35768 }
35769 public SetAssignmentsClauseContext setAssignmentsClause() {
35770 return getRuleContext(SetAssignmentsClauseContext.class,0);
35771 }
35772 public WithClauseContext withClause() {
35773 return getRuleContext(WithClauseContext.class,0);
35774 }
35775 public TopContext top() {
35776 return getRuleContext(TopContext.class,0);
35777 }
35778 public WhereClauseContext whereClause() {
35779 return getRuleContext(WhereClauseContext.class,0);
35780 }
35781 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
35782 public QueryHintContext queryHint() {
35783 return getRuleContext(QueryHintContext.class,0);
35784 }
35785 public UpdateContext(ParserRuleContext parent, int invokingState) {
35786 super(parent, invokingState);
35787 }
35788 @Override public int getRuleIndex() { return RULE_update; }
35789 @Override
35790 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35791 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdate(this);
35792 else return visitor.visitChildren(this);
35793 }
35794 }
35795
35796 public final UpdateContext update() throws RecognitionException {
35797 UpdateContext _localctx = new UpdateContext(_ctx, getState());
35798 enterRule(_localctx, 696, RULE_update);
35799 int _la;
35800 try {
35801 enterOuterAlt(_localctx, 1);
35802 {
35803 setState(5042);
35804 _errHandler.sync(this);
35805 _la = _input.LA(1);
35806 if (_la==WITH) {
35807 {
35808 setState(5041);
35809 withClause();
35810 }
35811 }
35812
35813 setState(5044);
35814 match(UPDATE);
35815 setState(5046);
35816 _errHandler.sync(this);
35817 switch ( getInterpreter().adaptivePredict(_input,550,_ctx) ) {
35818 case 1:
35819 {
35820 setState(5045);
35821 top();
35822 }
35823 break;
35824 }
35825 setState(5048);
35826 tableReferences();
35827 setState(5049);
35828 setAssignmentsClause();
35829 setState(5051);
35830 _errHandler.sync(this);
35831 _la = _input.LA(1);
35832 if (_la==WHERE) {
35833 {
35834 setState(5050);
35835 whereClause();
35836 }
35837 }
35838
35839 setState(5055);
35840 _errHandler.sync(this);
35841 _la = _input.LA(1);
35842 if (_la==OPTION) {
35843 {
35844 setState(5053);
35845 match(OPTION);
35846 setState(5054);
35847 queryHint();
35848 }
35849 }
35850
35851 }
35852 }
35853 catch (RecognitionException re) {
35854 _localctx.exception = re;
35855 _errHandler.reportError(this, re);
35856 _errHandler.recover(this, re);
35857 }
35858 finally {
35859 exitRule();
35860 }
35861 return _localctx;
35862 }
35863
35864 public static class AssignmentContext extends ParserRuleContext {
35865 public ColumnNameContext columnName() {
35866 return getRuleContext(ColumnNameContext.class,0);
35867 }
35868 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
35869 public AssignmentValueContext assignmentValue() {
35870 return getRuleContext(AssignmentValueContext.class,0);
35871 }
35872 public AssignmentContext(ParserRuleContext parent, int invokingState) {
35873 super(parent, invokingState);
35874 }
35875 @Override public int getRuleIndex() { return RULE_assignment; }
35876 @Override
35877 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35878 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignment(this);
35879 else return visitor.visitChildren(this);
35880 }
35881 }
35882
35883 public final AssignmentContext assignment() throws RecognitionException {
35884 AssignmentContext _localctx = new AssignmentContext(_ctx, getState());
35885 enterRule(_localctx, 698, RULE_assignment);
35886 try {
35887 enterOuterAlt(_localctx, 1);
35888 {
35889 setState(5057);
35890 columnName();
35891 setState(5058);
35892 match(EQ_);
35893 setState(5059);
35894 assignmentValue();
35895 }
35896 }
35897 catch (RecognitionException re) {
35898 _localctx.exception = re;
35899 _errHandler.reportError(this, re);
35900 _errHandler.recover(this, re);
35901 }
35902 finally {
35903 exitRule();
35904 }
35905 return _localctx;
35906 }
35907
35908 public static class SetAssignmentsClauseContext extends ParserRuleContext {
35909 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
35910 public List<AssignmentContext> assignment() {
35911 return getRuleContexts(AssignmentContext.class);
35912 }
35913 public AssignmentContext assignment(int i) {
35914 return getRuleContext(AssignmentContext.class,i);
35915 }
35916 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35917 public TerminalNode COMMA_(int i) {
35918 return getToken(SQLServerStatementParser.COMMA_, i);
35919 }
35920 public FromClauseContext fromClause() {
35921 return getRuleContext(FromClauseContext.class,0);
35922 }
35923 public SetAssignmentsClauseContext(ParserRuleContext parent, int invokingState) {
35924 super(parent, invokingState);
35925 }
35926 @Override public int getRuleIndex() { return RULE_setAssignmentsClause; }
35927 @Override
35928 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35929 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetAssignmentsClause(this);
35930 else return visitor.visitChildren(this);
35931 }
35932 }
35933
35934 public final SetAssignmentsClauseContext setAssignmentsClause() throws RecognitionException {
35935 SetAssignmentsClauseContext _localctx = new SetAssignmentsClauseContext(_ctx, getState());
35936 enterRule(_localctx, 700, RULE_setAssignmentsClause);
35937 int _la;
35938 try {
35939 enterOuterAlt(_localctx, 1);
35940 {
35941 setState(5061);
35942 match(SET);
35943 setState(5062);
35944 assignment();
35945 setState(5067);
35946 _errHandler.sync(this);
35947 _la = _input.LA(1);
35948 while (_la==COMMA_) {
35949 {
35950 {
35951 setState(5063);
35952 match(COMMA_);
35953 setState(5064);
35954 assignment();
35955 }
35956 }
35957 setState(5069);
35958 _errHandler.sync(this);
35959 _la = _input.LA(1);
35960 }
35961 setState(5071);
35962 _errHandler.sync(this);
35963 _la = _input.LA(1);
35964 if (_la==FROM) {
35965 {
35966 setState(5070);
35967 fromClause();
35968 }
35969 }
35970
35971 }
35972 }
35973 catch (RecognitionException re) {
35974 _localctx.exception = re;
35975 _errHandler.reportError(this, re);
35976 _errHandler.recover(this, re);
35977 }
35978 finally {
35979 exitRule();
35980 }
35981 return _localctx;
35982 }
35983
35984 public static class AssignmentValuesContext extends ParserRuleContext {
35985 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35986 public List<AssignmentValueContext> assignmentValue() {
35987 return getRuleContexts(AssignmentValueContext.class);
35988 }
35989 public AssignmentValueContext assignmentValue(int i) {
35990 return getRuleContext(AssignmentValueContext.class,i);
35991 }
35992 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35993 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35994 public TerminalNode COMMA_(int i) {
35995 return getToken(SQLServerStatementParser.COMMA_, i);
35996 }
35997 public AssignmentValuesContext(ParserRuleContext parent, int invokingState) {
35998 super(parent, invokingState);
35999 }
36000 @Override public int getRuleIndex() { return RULE_assignmentValues; }
36001 @Override
36002 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36003 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValues(this);
36004 else return visitor.visitChildren(this);
36005 }
36006 }
36007
36008 public final AssignmentValuesContext assignmentValues() throws RecognitionException {
36009 AssignmentValuesContext _localctx = new AssignmentValuesContext(_ctx, getState());
36010 enterRule(_localctx, 702, RULE_assignmentValues);
36011 int _la;
36012 try {
36013 setState(5086);
36014 _errHandler.sync(this);
36015 switch ( getInterpreter().adaptivePredict(_input,556,_ctx) ) {
36016 case 1:
36017 enterOuterAlt(_localctx, 1);
36018 {
36019 setState(5073);
36020 match(LP_);
36021 setState(5074);
36022 assignmentValue();
36023 setState(5079);
36024 _errHandler.sync(this);
36025 _la = _input.LA(1);
36026 while (_la==COMMA_) {
36027 {
36028 {
36029 setState(5075);
36030 match(COMMA_);
36031 setState(5076);
36032 assignmentValue();
36033 }
36034 }
36035 setState(5081);
36036 _errHandler.sync(this);
36037 _la = _input.LA(1);
36038 }
36039 setState(5082);
36040 match(RP_);
36041 }
36042 break;
36043 case 2:
36044 enterOuterAlt(_localctx, 2);
36045 {
36046 setState(5084);
36047 match(LP_);
36048 setState(5085);
36049 match(RP_);
36050 }
36051 break;
36052 }
36053 }
36054 catch (RecognitionException re) {
36055 _localctx.exception = re;
36056 _errHandler.reportError(this, re);
36057 _errHandler.recover(this, re);
36058 }
36059 finally {
36060 exitRule();
36061 }
36062 return _localctx;
36063 }
36064
36065 public static class AssignmentValueContext extends ParserRuleContext {
36066 public ExprContext expr() {
36067 return getRuleContext(ExprContext.class,0);
36068 }
36069 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
36070 public AssignmentValueContext(ParserRuleContext parent, int invokingState) {
36071 super(parent, invokingState);
36072 }
36073 @Override public int getRuleIndex() { return RULE_assignmentValue; }
36074 @Override
36075 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36076 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValue(this);
36077 else return visitor.visitChildren(this);
36078 }
36079 }
36080
36081 public final AssignmentValueContext assignmentValue() throws RecognitionException {
36082 AssignmentValueContext _localctx = new AssignmentValueContext(_ctx, getState());
36083 enterRule(_localctx, 704, RULE_assignmentValue);
36084 try {
36085 setState(5090);
36086 _errHandler.sync(this);
36087 switch (_input.LA(1)) {
36088 case NOT_:
36089 case TILDE_:
36090 case PLUS_:
36091 case MINUS_:
36092 case LP_:
36093 case LBE_:
36094 case QUESTION_:
36095 case DOLLAR_:
36096 case TRUNCATE:
36097 case SCHEMA:
36098 case COLUMNS:
36099 case PRECISION:
36100 case FUNCTION:
36101 case TRIGGER:
36102 case CASE:
36103 case CAST:
36104 case SUBSTRING:
36105 case OFF:
36106 case IF:
36107 case NOT:
36108 case NULL:
36109 case TRUE:
36110 case FALSE:
36111 case EXISTS:
36112 case GROUP:
36113 case LIMIT:
36114 case OFFSET:
36115 case SAVEPOINT:
36116 case BOOLEAN:
36117 case CHAR:
36118 case ARRAY:
36119 case INTERVAL:
36120 case DATE:
36121 case TIME:
36122 case TIMESTAMP:
36123 case LOCALTIME:
36124 case LOCALTIMESTAMP:
36125 case QUARTER:
36126 case MONTH:
36127 case WEEK:
36128 case DAY:
36129 case SECOND:
36130 case MICROSECOND:
36131 case MAX:
36132 case MIN:
36133 case SUM:
36134 case COUNT:
36135 case AVG:
36136 case ENABLE:
36137 case DISABLE:
36138 case INSTANCE:
36139 case DO:
36140 case DEFINER:
36141 case SQL:
36142 case CASCADED:
36143 case LOCAL:
36144 case NEXT:
36145 case NAME:
36146 case INTEGER:
36147 case TYPE:
36148 case TEXT:
36149 case VIEWS:
36150 case READ_ONLY:
36151 case DATABASE:
36152 case RETURNS:
36153 case DATEPART:
36154 case PASSWORD:
36155 case BINARY:
36156 case HIDDEN_:
36157 case MOD:
36158 case PARTITION:
36159 case PARTITIONS:
36160 case TOP:
36161 case ROW:
36162 case ROWS:
36163 case XOR:
36164 case ALWAYS:
36165 case ROLE:
36166 case START:
36167 case ALGORITHM:
36168 case AUTO:
36169 case BLOCKERS:
36170 case CLUSTERED:
36171 case NONCLUSTERED:
36172 case COLUMNSTORE:
36173 case CONTENT:
36174 case CONVERT:
36175 case YEARS:
36176 case MONTHS:
36177 case WEEKS:
36178 case DAYS:
36179 case MINUTES:
36180 case DENY:
36181 case DETERMINISTIC:
36182 case DISTRIBUTION:
36183 case DOCUMENT:
36184 case DURABILITY:
36185 case ENCRYPTED:
36186 case FILESTREAM:
36187 case FILETABLE:
36188 case FILLFACTOR:
36189 case FOLLOWING:
36190 case HASH:
36191 case HEAP:
36192 case INBOUND:
36193 case OUTBOUND:
36194 case UNBOUNDED:
36195 case INFINITE:
36196 case LOGIN:
36197 case MASKED:
36198 case MAXDOP:
36199 case MOVE:
36200 case NOCHECK:
36201 case OBJECT:
36202 case ONLINE:
36203 case OVER:
36204 case PAGE:
36205 case PAUSED:
36206 case PERIOD:
36207 case PERSISTED:
36208 case PRECEDING:
36209 case RANDOMIZED:
36210 case RANGE:
36211 case REBUILD:
36212 case REPLICATE:
36213 case REPLICATION:
36214 case RESUMABLE:
36215 case ROWGUIDCOL:
36216 case SAVE:
36217 case SELF:
36218 case SPARSE:
36219 case SWITCH:
36220 case TRAN:
36221 case TRANCOUNT:
36222 case CONTROL:
36223 case CONCAT:
36224 case TAKE:
36225 case OWNERSHIP:
36226 case DEFINITION:
36227 case APPLICATION:
36228 case ASSEMBLY:
36229 case SYMMETRIC:
36230 case ASYMMETRIC:
36231 case SERVER:
36232 case RECEIVE:
36233 case CHANGE:
36234 case TRACE:
36235 case TRACKING:
36236 case RESOURCES:
36237 case SETTINGS:
36238 case STATE:
36239 case AVAILABILITY:
36240 case CREDENTIAL:
36241 case ENDPOINT:
36242 case EVENT:
36243 case NOTIFICATION:
36244 case LINKED:
36245 case AUDIT:
36246 case DDL:
36247 case XML:
36248 case IMPERSONATE:
36249 case SECURABLES:
36250 case AUTHENTICATE:
36251 case EXTERNAL:
36252 case ACCESS:
36253 case ADMINISTER:
36254 case BULK:
36255 case OPERATIONS:
36256 case UNSAFE:
36257 case SHUTDOWN:
36258 case SCOPED:
36259 case CONFIGURATION:
36260 case DATASPACE:
36261 case SERVICE:
36262 case CERTIFICATE:
36263 case CONTRACT:
36264 case ENCRYPTION:
36265 case MASTER:
36266 case DATA:
36267 case SOURCE:
36268 case FILE:
36269 case FORMAT:
36270 case LIBRARY:
36271 case FULLTEXT:
36272 case MASK:
36273 case UNMASK:
36274 case MESSAGE:
36275 case REMOTE:
36276 case BINDING:
36277 case ROUTE:
36278 case SECURITY:
36279 case POLICY:
36280 case AGGREGATE:
36281 case QUEUE:
36282 case RULE:
36283 case SYNONYM:
36284 case COLLECTION:
36285 case SCRIPT:
36286 case KILL:
36287 case BACKUP:
36288 case LOG:
36289 case SHOWPLAN:
36290 case SUBSCRIBE:
36291 case QUERY:
36292 case NOTIFICATIONS:
36293 case CHECKPOINT:
36294 case SEQUENCE:
36295 case ABORT_AFTER_WAIT:
36296 case ALLOW_PAGE_LOCKS:
36297 case ALLOW_ROW_LOCKS:
36298 case ALL_SPARSE_COLUMNS:
36299 case BUCKET_COUNT:
36300 case COLUMNSTORE_ARCHIVE:
36301 case COLUMN_ENCRYPTION_KEY:
36302 case COLUMN_SET:
36303 case COMPRESSION_DELAY:
36304 case DATABASE_DEAULT:
36305 case DATA_COMPRESSION:
36306 case DATA_CONSISTENCY_CHECK:
36307 case ENCRYPTION_TYPE:
36308 case SYSTEM_TIME:
36309 case SYSTEM_VERSIONING:
36310 case TEXTIMAGE_ON:
36311 case WAIT_AT_LOW_PRIORITY:
36312 case STATISTICS_INCREMENTAL:
36313 case STATISTICS_NORECOMPUTE:
36314 case ROUND_ROBIN:
36315 case SCHEMA_AND_DATA:
36316 case SCHEMA_ONLY:
36317 case SORT_IN_TEMPDB:
36318 case IGNORE_DUP_KEY:
36319 case IMPLICIT_TRANSACTIONS:
36320 case MAX_DURATION:
36321 case MEMORY_OPTIMIZED:
36322 case MIGRATION_STATE:
36323 case PAD_INDEX:
36324 case REMOTE_DATA_ARCHIVE:
36325 case FILESTREAM_ON:
36326 case FILETABLE_COLLATE_FILENAME:
36327 case FILETABLE_DIRECTORY:
36328 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
36329 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
36330 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
36331 case FILTER_PREDICATE:
36332 case HISTORY_RETENTION_PERIOD:
36333 case HISTORY_TABLE:
36334 case LOCK_ESCALATION:
36335 case DROP_EXISTING:
36336 case ROW_NUMBER:
36337 case FIRST:
36338 case DATETIME2:
36339 case OUTPUT:
36340 case INSERTED:
36341 case DELETED:
36342 case FILENAME:
36343 case SIZE:
36344 case MAXSIZE:
36345 case FILEGROWTH:
36346 case UNLIMITED:
36347 case KB:
36348 case MB:
36349 case GB:
36350 case TB:
36351 case CONTAINS:
36352 case MEMORY_OPTIMIZED_DATA:
36353 case FILEGROUP:
36354 case NON_TRANSACTED_ACCESS:
36355 case DB_CHAINING:
36356 case TRUSTWORTHY:
36357 case FORWARD_ONLY:
36358 case KEYSET:
36359 case FAST_FORWARD:
36360 case SCROLL_LOCKS:
36361 case OPTIMISTIC:
36362 case TYPE_WARNING:
36363 case SCHEMABINDING:
36364 case CALLER:
36365 case OWNER:
36366 case SNAPSHOT:
36367 case REPEATABLE:
36368 case SERIALIZABLE:
36369 case NATIVE_COMPILATION:
36370 case VIEW_METADATA:
36371 case INSTEAD:
36372 case APPEND:
36373 case INCREMENT:
36374 case CACHE:
36375 case MINVALUE:
36376 case MAXVALUE:
36377 case RESTART:
36378 case LOB_COMPACTION:
36379 case COMPRESS_ALL_ROW_GROUPS:
36380 case REORGANIZE:
36381 case RESUME:
36382 case PAUSE:
36383 case ABORT:
36384 case ACCELERATED_DATABASE_RECOVERY:
36385 case PERSISTENT_VERSION_STORE_FILEGROUP:
36386 case IMMEDIATE:
36387 case NO_WAIT:
36388 case TARGET_RECOVERY_TIME:
36389 case SECONDS:
36390 case HONOR_BROKER_PRIORITY:
36391 case ERROR_BROKER_CONVERSATIONS:
36392 case NEW_BROKER:
36393 case DISABLE_BROKER:
36394 case ENABLE_BROKER:
36395 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
36396 case READ_COMMITTED_SNAPSHOT:
36397 case ALLOW_SNAPSHOT_ISOLATION:
36398 case RECURSIVE_TRIGGERS:
36399 case QUOTED_IDENTIFIER:
36400 case NUMERIC_ROUNDABORT:
36401 case CONCAT_NULL_YIELDS_NULL:
36402 case COMPATIBILITY_LEVEL:
36403 case ARITHABORT:
36404 case ANSI_WARNINGS:
36405 case ANSI_PADDING:
36406 case ANSI_NULLS:
36407 case ANSI_NULL_DEFAULT:
36408 case PAGE_VERIFY:
36409 case CHECKSUM:
36410 case TORN_PAGE_DETECTION:
36411 case BULK_LOGGED:
36412 case RECOVERY:
36413 case TOTAL_EXECUTION_CPU_TIME_MS:
36414 case TOTAL_COMPILE_CPU_TIME_MS:
36415 case STALE_CAPTURE_POLICY_THRESHOLD:
36416 case EXECUTION_COUNT:
36417 case QUERY_CAPTURE_POLICY:
36418 case WAIT_STATS_CAPTURE_MODE:
36419 case MAX_PLANS_PER_QUERY:
36420 case QUERY_CAPTURE_MODE:
36421 case SIZE_BASED_CLEANUP_MODE:
36422 case INTERVAL_LENGTH_MINUTES:
36423 case MAX_STORAGE_SIZE_MB:
36424 case DATA_FLUSH_INTERVAL_SECONDS:
36425 case CLEANUP_POLICY:
36426 case CUSTOM:
36427 case STALE_QUERY_THRESHOLD_DAYS:
36428 case OPERATION_MODE:
36429 case QUERY_STORE:
36430 case CURSOR_DEFAULT:
36431 case GLOBAL:
36432 case CURSOR_CLOSE_ON_COMMIT:
36433 case HOURS:
36434 case CHANGE_RETENTION:
36435 case AUTO_CLEANUP:
36436 case CHANGE_TRACKING:
36437 case AUTOMATIC_TUNING:
36438 case FORCE_LAST_GOOD_PLAN:
36439 case AUTO_UPDATE_STATISTICS_ASYNC:
36440 case AUTO_UPDATE_STATISTICS:
36441 case AUTO_SHRINK:
36442 case AUTO_CREATE_STATISTICS:
36443 case INCREMENTAL:
36444 case AUTO_CLOSE:
36445 case DATA_RETENTION:
36446 case TEMPORAL_HISTORY_RETENTION:
36447 case EDITION:
36448 case MIXED_PAGE_ALLOCATION:
36449 case DISABLED:
36450 case ALLOWED:
36451 case HADR:
36452 case MULTI_USER:
36453 case RESTRICTED_USER:
36454 case SINGLE_USER:
36455 case OFFLINE:
36456 case EMERGENCY:
36457 case SUSPEND:
36458 case DATE_CORRELATION_OPTIMIZATION:
36459 case ELASTIC_POOL:
36460 case SERVICE_OBJECTIVE:
36461 case DATABASE_NAME:
36462 case ALLOW_CONNECTIONS:
36463 case GEO:
36464 case NAMED:
36465 case DATEFIRST:
36466 case BACKUP_STORAGE_REDUNDANCY:
36467 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
36468 case SECONDARY:
36469 case FAILOVER:
36470 case DEFAULT_FULLTEXT_LANGUAGE:
36471 case DEFAULT_LANGUAGE:
36472 case INLINE:
36473 case NESTED_TRIGGERS:
36474 case TRANSFORM_NOISE_WORDS:
36475 case TWO_DIGIT_YEAR_CUTOFF:
36476 case PERSISTENT_LOG_BUFFER:
36477 case DIRECTORY_NAME:
36478 case DATEFORMAT:
36479 case DELAYED_DURABILITY:
36480 case AUTHORIZATION:
36481 case TRANSFER:
36482 case PROVIDER:
36483 case SEARCH:
36484 case MEMBER:
36485 case OPENJSON:
36486 case OPENROWSET:
36487 case IDENTIFIER_:
36488 case DELIMITED_IDENTIFIER_:
36489 case STRING_:
36490 case NUMBER_:
36491 case HEX_DIGIT_:
36492 case BIT_NUM_:
36493 case NCHAR_TEXT:
36494 enterOuterAlt(_localctx, 1);
36495 {
36496 setState(5088);
36497 expr(0);
36498 }
36499 break;
36500 case DEFAULT:
36501 enterOuterAlt(_localctx, 2);
36502 {
36503 setState(5089);
36504 match(DEFAULT);
36505 }
36506 break;
36507 default:
36508 throw new NoViableAltException(this);
36509 }
36510 }
36511 catch (RecognitionException re) {
36512 _localctx.exception = re;
36513 _errHandler.reportError(this, re);
36514 _errHandler.recover(this, re);
36515 }
36516 finally {
36517 exitRule();
36518 }
36519 return _localctx;
36520 }
36521
36522 public static class DeleteContext extends ParserRuleContext {
36523 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
36524 public SingleTableClauseContext singleTableClause() {
36525 return getRuleContext(SingleTableClauseContext.class,0);
36526 }
36527 public MultipleTablesClauseContext multipleTablesClause() {
36528 return getRuleContext(MultipleTablesClauseContext.class,0);
36529 }
36530 public WithClauseContext withClause() {
36531 return getRuleContext(WithClauseContext.class,0);
36532 }
36533 public TopContext top() {
36534 return getRuleContext(TopContext.class,0);
36535 }
36536 public OutputClauseContext outputClause() {
36537 return getRuleContext(OutputClauseContext.class,0);
36538 }
36539 public WhereClauseContext whereClause() {
36540 return getRuleContext(WhereClauseContext.class,0);
36541 }
36542 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
36543 public QueryHintContext queryHint() {
36544 return getRuleContext(QueryHintContext.class,0);
36545 }
36546 public DeleteContext(ParserRuleContext parent, int invokingState) {
36547 super(parent, invokingState);
36548 }
36549 @Override public int getRuleIndex() { return RULE_delete; }
36550 @Override
36551 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36552 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelete(this);
36553 else return visitor.visitChildren(this);
36554 }
36555 }
36556
36557 public final DeleteContext delete() throws RecognitionException {
36558 DeleteContext _localctx = new DeleteContext(_ctx, getState());
36559 enterRule(_localctx, 706, RULE_delete);
36560 int _la;
36561 try {
36562 enterOuterAlt(_localctx, 1);
36563 {
36564 setState(5093);
36565 _errHandler.sync(this);
36566 _la = _input.LA(1);
36567 if (_la==WITH) {
36568 {
36569 setState(5092);
36570 withClause();
36571 }
36572 }
36573
36574 setState(5095);
36575 match(DELETE);
36576 setState(5097);
36577 _errHandler.sync(this);
36578 switch ( getInterpreter().adaptivePredict(_input,559,_ctx) ) {
36579 case 1:
36580 {
36581 setState(5096);
36582 top();
36583 }
36584 break;
36585 }
36586 setState(5101);
36587 _errHandler.sync(this);
36588 switch ( getInterpreter().adaptivePredict(_input,560,_ctx) ) {
36589 case 1:
36590 {
36591 setState(5099);
36592 singleTableClause();
36593 }
36594 break;
36595 case 2:
36596 {
36597 setState(5100);
36598 multipleTablesClause();
36599 }
36600 break;
36601 }
36602 setState(5104);
36603 _errHandler.sync(this);
36604 _la = _input.LA(1);
36605 if (_la==OUTPUT) {
36606 {
36607 setState(5103);
36608 outputClause();
36609 }
36610 }
36611
36612 setState(5107);
36613 _errHandler.sync(this);
36614 _la = _input.LA(1);
36615 if (_la==WHERE) {
36616 {
36617 setState(5106);
36618 whereClause();
36619 }
36620 }
36621
36622 setState(5111);
36623 _errHandler.sync(this);
36624 _la = _input.LA(1);
36625 if (_la==OPTION) {
36626 {
36627 setState(5109);
36628 match(OPTION);
36629 setState(5110);
36630 queryHint();
36631 }
36632 }
36633
36634 }
36635 }
36636 catch (RecognitionException re) {
36637 _localctx.exception = re;
36638 _errHandler.reportError(this, re);
36639 _errHandler.recover(this, re);
36640 }
36641 finally {
36642 exitRule();
36643 }
36644 return _localctx;
36645 }
36646
36647 public static class SingleTableClauseContext extends ParserRuleContext {
36648 public TableNameContext tableName() {
36649 return getRuleContext(TableNameContext.class,0);
36650 }
36651 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
36652 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
36653 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
36654 public AliasContext alias() {
36655 return getRuleContext(AliasContext.class,0);
36656 }
36657 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
36658 public SingleTableClauseContext(ParserRuleContext parent, int invokingState) {
36659 super(parent, invokingState);
36660 }
36661 @Override public int getRuleIndex() { return RULE_singleTableClause; }
36662 @Override
36663 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36664 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSingleTableClause(this);
36665 else return visitor.visitChildren(this);
36666 }
36667 }
36668
36669 public final SingleTableClauseContext singleTableClause() throws RecognitionException {
36670 SingleTableClauseContext _localctx = new SingleTableClauseContext(_ctx, getState());
36671 enterRule(_localctx, 708, RULE_singleTableClause);
36672 int _la;
36673 try {
36674 enterOuterAlt(_localctx, 1);
36675 {
36676 setState(5114);
36677 _errHandler.sync(this);
36678 _la = _input.LA(1);
36679 if (_la==FROM) {
36680 {
36681 setState(5113);
36682 match(FROM);
36683 }
36684 }
36685
36686 setState(5117);
36687 _errHandler.sync(this);
36688 _la = _input.LA(1);
36689 if (_la==LP_) {
36690 {
36691 setState(5116);
36692 match(LP_);
36693 }
36694 }
36695
36696 setState(5119);
36697 tableName();
36698 setState(5121);
36699 _errHandler.sync(this);
36700 _la = _input.LA(1);
36701 if (_la==RP_) {
36702 {
36703 setState(5120);
36704 match(RP_);
36705 }
36706 }
36707
36708 setState(5127);
36709 _errHandler.sync(this);
36710 switch ( getInterpreter().adaptivePredict(_input,568,_ctx) ) {
36711 case 1:
36712 {
36713 setState(5124);
36714 _errHandler.sync(this);
36715 _la = _input.LA(1);
36716 if (_la==AS) {
36717 {
36718 setState(5123);
36719 match(AS);
36720 }
36721 }
36722
36723 setState(5126);
36724 alias();
36725 }
36726 break;
36727 }
36728 }
36729 }
36730 catch (RecognitionException re) {
36731 _localctx.exception = re;
36732 _errHandler.reportError(this, re);
36733 _errHandler.recover(this, re);
36734 }
36735 finally {
36736 exitRule();
36737 }
36738 return _localctx;
36739 }
36740
36741 public static class MultipleTablesClauseContext extends ParserRuleContext {
36742 public MultipleTableNamesContext multipleTableNames() {
36743 return getRuleContext(MultipleTableNamesContext.class,0);
36744 }
36745 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
36746 public TableReferencesContext tableReferences() {
36747 return getRuleContext(TableReferencesContext.class,0);
36748 }
36749 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
36750 public MultipleTablesClauseContext(ParserRuleContext parent, int invokingState) {
36751 super(parent, invokingState);
36752 }
36753 @Override public int getRuleIndex() { return RULE_multipleTablesClause; }
36754 @Override
36755 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36756 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTablesClause(this);
36757 else return visitor.visitChildren(this);
36758 }
36759 }
36760
36761 public final MultipleTablesClauseContext multipleTablesClause() throws RecognitionException {
36762 MultipleTablesClauseContext _localctx = new MultipleTablesClauseContext(_ctx, getState());
36763 enterRule(_localctx, 710, RULE_multipleTablesClause);
36764 try {
36765 setState(5138);
36766 _errHandler.sync(this);
36767 switch (_input.LA(1)) {
36768 case TRUNCATE:
36769 case SCHEMA:
36770 case COLUMNS:
36771 case PRECISION:
36772 case FUNCTION:
36773 case TRIGGER:
36774 case CAST:
36775 case SUBSTRING:
36776 case OFF:
36777 case GROUP:
36778 case LIMIT:
36779 case OFFSET:
36780 case SAVEPOINT:
36781 case BOOLEAN:
36782 case ARRAY:
36783 case DATE:
36784 case LOCALTIME:
36785 case LOCALTIMESTAMP:
36786 case QUARTER:
36787 case MONTH:
36788 case WEEK:
36789 case DAY:
36790 case SECOND:
36791 case MICROSECOND:
36792 case MAX:
36793 case MIN:
36794 case SUM:
36795 case COUNT:
36796 case AVG:
36797 case ENABLE:
36798 case DISABLE:
36799 case INSTANCE:
36800 case DO:
36801 case DEFINER:
36802 case SQL:
36803 case CASCADED:
36804 case LOCAL:
36805 case NEXT:
36806 case NAME:
36807 case INTEGER:
36808 case TYPE:
36809 case TEXT:
36810 case VIEWS:
36811 case READ_ONLY:
36812 case DATABASE:
36813 case RETURNS:
36814 case DATEPART:
36815 case PASSWORD:
36816 case BINARY:
36817 case HIDDEN_:
36818 case MOD:
36819 case PARTITION:
36820 case PARTITIONS:
36821 case TOP:
36822 case ROW:
36823 case ROWS:
36824 case XOR:
36825 case ALWAYS:
36826 case ROLE:
36827 case START:
36828 case ALGORITHM:
36829 case AUTO:
36830 case BLOCKERS:
36831 case CLUSTERED:
36832 case NONCLUSTERED:
36833 case COLUMNSTORE:
36834 case CONTENT:
36835 case YEARS:
36836 case MONTHS:
36837 case WEEKS:
36838 case DAYS:
36839 case MINUTES:
36840 case DENY:
36841 case DETERMINISTIC:
36842 case DISTRIBUTION:
36843 case DOCUMENT:
36844 case DURABILITY:
36845 case ENCRYPTED:
36846 case FILESTREAM:
36847 case FILETABLE:
36848 case FILLFACTOR:
36849 case FOLLOWING:
36850 case HASH:
36851 case HEAP:
36852 case INBOUND:
36853 case OUTBOUND:
36854 case UNBOUNDED:
36855 case INFINITE:
36856 case LOGIN:
36857 case MASKED:
36858 case MAXDOP:
36859 case MOVE:
36860 case NOCHECK:
36861 case OBJECT:
36862 case ONLINE:
36863 case OVER:
36864 case PAGE:
36865 case PAUSED:
36866 case PERIOD:
36867 case PERSISTED:
36868 case PRECEDING:
36869 case RANDOMIZED:
36870 case RANGE:
36871 case REBUILD:
36872 case REPLICATE:
36873 case REPLICATION:
36874 case RESUMABLE:
36875 case ROWGUIDCOL:
36876 case SAVE:
36877 case SELF:
36878 case SPARSE:
36879 case SWITCH:
36880 case TRAN:
36881 case TRANCOUNT:
36882 case CONTROL:
36883 case CONCAT:
36884 case TAKE:
36885 case OWNERSHIP:
36886 case DEFINITION:
36887 case APPLICATION:
36888 case ASSEMBLY:
36889 case SYMMETRIC:
36890 case ASYMMETRIC:
36891 case SERVER:
36892 case RECEIVE:
36893 case CHANGE:
36894 case TRACE:
36895 case TRACKING:
36896 case RESOURCES:
36897 case SETTINGS:
36898 case STATE:
36899 case AVAILABILITY:
36900 case CREDENTIAL:
36901 case ENDPOINT:
36902 case EVENT:
36903 case NOTIFICATION:
36904 case LINKED:
36905 case AUDIT:
36906 case DDL:
36907 case XML:
36908 case IMPERSONATE:
36909 case SECURABLES:
36910 case AUTHENTICATE:
36911 case EXTERNAL:
36912 case ACCESS:
36913 case ADMINISTER:
36914 case BULK:
36915 case OPERATIONS:
36916 case UNSAFE:
36917 case SHUTDOWN:
36918 case SCOPED:
36919 case CONFIGURATION:
36920 case DATASPACE:
36921 case SERVICE:
36922 case CERTIFICATE:
36923 case CONTRACT:
36924 case ENCRYPTION:
36925 case MASTER:
36926 case DATA:
36927 case SOURCE:
36928 case FILE:
36929 case FORMAT:
36930 case LIBRARY:
36931 case FULLTEXT:
36932 case MASK:
36933 case UNMASK:
36934 case MESSAGE:
36935 case REMOTE:
36936 case BINDING:
36937 case ROUTE:
36938 case SECURITY:
36939 case POLICY:
36940 case AGGREGATE:
36941 case QUEUE:
36942 case RULE:
36943 case SYNONYM:
36944 case COLLECTION:
36945 case SCRIPT:
36946 case KILL:
36947 case BACKUP:
36948 case LOG:
36949 case SHOWPLAN:
36950 case SUBSCRIBE:
36951 case QUERY:
36952 case NOTIFICATIONS:
36953 case CHECKPOINT:
36954 case SEQUENCE:
36955 case ABORT_AFTER_WAIT:
36956 case ALLOW_PAGE_LOCKS:
36957 case ALLOW_ROW_LOCKS:
36958 case ALL_SPARSE_COLUMNS:
36959 case BUCKET_COUNT:
36960 case COLUMNSTORE_ARCHIVE:
36961 case COLUMN_ENCRYPTION_KEY:
36962 case COLUMN_SET:
36963 case COMPRESSION_DELAY:
36964 case DATABASE_DEAULT:
36965 case DATA_COMPRESSION:
36966 case DATA_CONSISTENCY_CHECK:
36967 case ENCRYPTION_TYPE:
36968 case SYSTEM_TIME:
36969 case SYSTEM_VERSIONING:
36970 case TEXTIMAGE_ON:
36971 case WAIT_AT_LOW_PRIORITY:
36972 case STATISTICS_INCREMENTAL:
36973 case STATISTICS_NORECOMPUTE:
36974 case ROUND_ROBIN:
36975 case SCHEMA_AND_DATA:
36976 case SCHEMA_ONLY:
36977 case SORT_IN_TEMPDB:
36978 case IGNORE_DUP_KEY:
36979 case IMPLICIT_TRANSACTIONS:
36980 case MAX_DURATION:
36981 case MEMORY_OPTIMIZED:
36982 case MIGRATION_STATE:
36983 case PAD_INDEX:
36984 case REMOTE_DATA_ARCHIVE:
36985 case FILESTREAM_ON:
36986 case FILETABLE_COLLATE_FILENAME:
36987 case FILETABLE_DIRECTORY:
36988 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
36989 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
36990 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
36991 case FILTER_PREDICATE:
36992 case HISTORY_RETENTION_PERIOD:
36993 case HISTORY_TABLE:
36994 case LOCK_ESCALATION:
36995 case DROP_EXISTING:
36996 case ROW_NUMBER:
36997 case FIRST:
36998 case DATETIME2:
36999 case OUTPUT:
37000 case INSERTED:
37001 case DELETED:
37002 case FILENAME:
37003 case SIZE:
37004 case MAXSIZE:
37005 case FILEGROWTH:
37006 case UNLIMITED:
37007 case KB:
37008 case MB:
37009 case GB:
37010 case TB:
37011 case CONTAINS:
37012 case MEMORY_OPTIMIZED_DATA:
37013 case FILEGROUP:
37014 case NON_TRANSACTED_ACCESS:
37015 case DB_CHAINING:
37016 case TRUSTWORTHY:
37017 case FORWARD_ONLY:
37018 case KEYSET:
37019 case FAST_FORWARD:
37020 case SCROLL_LOCKS:
37021 case OPTIMISTIC:
37022 case TYPE_WARNING:
37023 case SCHEMABINDING:
37024 case CALLER:
37025 case OWNER:
37026 case SNAPSHOT:
37027 case REPEATABLE:
37028 case SERIALIZABLE:
37029 case NATIVE_COMPILATION:
37030 case VIEW_METADATA:
37031 case INSTEAD:
37032 case APPEND:
37033 case INCREMENT:
37034 case CACHE:
37035 case MINVALUE:
37036 case MAXVALUE:
37037 case RESTART:
37038 case LOB_COMPACTION:
37039 case COMPRESS_ALL_ROW_GROUPS:
37040 case REORGANIZE:
37041 case RESUME:
37042 case PAUSE:
37043 case ABORT:
37044 case ACCELERATED_DATABASE_RECOVERY:
37045 case PERSISTENT_VERSION_STORE_FILEGROUP:
37046 case IMMEDIATE:
37047 case NO_WAIT:
37048 case TARGET_RECOVERY_TIME:
37049 case SECONDS:
37050 case HONOR_BROKER_PRIORITY:
37051 case ERROR_BROKER_CONVERSATIONS:
37052 case NEW_BROKER:
37053 case DISABLE_BROKER:
37054 case ENABLE_BROKER:
37055 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
37056 case READ_COMMITTED_SNAPSHOT:
37057 case ALLOW_SNAPSHOT_ISOLATION:
37058 case RECURSIVE_TRIGGERS:
37059 case QUOTED_IDENTIFIER:
37060 case NUMERIC_ROUNDABORT:
37061 case CONCAT_NULL_YIELDS_NULL:
37062 case COMPATIBILITY_LEVEL:
37063 case ARITHABORT:
37064 case ANSI_WARNINGS:
37065 case ANSI_PADDING:
37066 case ANSI_NULLS:
37067 case ANSI_NULL_DEFAULT:
37068 case PAGE_VERIFY:
37069 case CHECKSUM:
37070 case TORN_PAGE_DETECTION:
37071 case BULK_LOGGED:
37072 case RECOVERY:
37073 case TOTAL_EXECUTION_CPU_TIME_MS:
37074 case TOTAL_COMPILE_CPU_TIME_MS:
37075 case STALE_CAPTURE_POLICY_THRESHOLD:
37076 case EXECUTION_COUNT:
37077 case QUERY_CAPTURE_POLICY:
37078 case WAIT_STATS_CAPTURE_MODE:
37079 case MAX_PLANS_PER_QUERY:
37080 case QUERY_CAPTURE_MODE:
37081 case SIZE_BASED_CLEANUP_MODE:
37082 case INTERVAL_LENGTH_MINUTES:
37083 case MAX_STORAGE_SIZE_MB:
37084 case DATA_FLUSH_INTERVAL_SECONDS:
37085 case CLEANUP_POLICY:
37086 case CUSTOM:
37087 case STALE_QUERY_THRESHOLD_DAYS:
37088 case OPERATION_MODE:
37089 case QUERY_STORE:
37090 case CURSOR_DEFAULT:
37091 case GLOBAL:
37092 case CURSOR_CLOSE_ON_COMMIT:
37093 case HOURS:
37094 case CHANGE_RETENTION:
37095 case AUTO_CLEANUP:
37096 case CHANGE_TRACKING:
37097 case AUTOMATIC_TUNING:
37098 case FORCE_LAST_GOOD_PLAN:
37099 case AUTO_UPDATE_STATISTICS_ASYNC:
37100 case AUTO_UPDATE_STATISTICS:
37101 case AUTO_SHRINK:
37102 case AUTO_CREATE_STATISTICS:
37103 case INCREMENTAL:
37104 case AUTO_CLOSE:
37105 case DATA_RETENTION:
37106 case TEMPORAL_HISTORY_RETENTION:
37107 case EDITION:
37108 case MIXED_PAGE_ALLOCATION:
37109 case DISABLED:
37110 case ALLOWED:
37111 case HADR:
37112 case MULTI_USER:
37113 case RESTRICTED_USER:
37114 case SINGLE_USER:
37115 case OFFLINE:
37116 case EMERGENCY:
37117 case SUSPEND:
37118 case DATE_CORRELATION_OPTIMIZATION:
37119 case ELASTIC_POOL:
37120 case SERVICE_OBJECTIVE:
37121 case DATABASE_NAME:
37122 case ALLOW_CONNECTIONS:
37123 case GEO:
37124 case NAMED:
37125 case DATEFIRST:
37126 case BACKUP_STORAGE_REDUNDANCY:
37127 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
37128 case SECONDARY:
37129 case FAILOVER:
37130 case DEFAULT_FULLTEXT_LANGUAGE:
37131 case DEFAULT_LANGUAGE:
37132 case INLINE:
37133 case NESTED_TRIGGERS:
37134 case TRANSFORM_NOISE_WORDS:
37135 case TWO_DIGIT_YEAR_CUTOFF:
37136 case PERSISTENT_LOG_BUFFER:
37137 case DIRECTORY_NAME:
37138 case DATEFORMAT:
37139 case DELAYED_DURABILITY:
37140 case AUTHORIZATION:
37141 case TRANSFER:
37142 case PROVIDER:
37143 case SEARCH:
37144 case MEMBER:
37145 case IDENTIFIER_:
37146 case DELIMITED_IDENTIFIER_:
37147 enterOuterAlt(_localctx, 1);
37148 {
37149 setState(5129);
37150 multipleTableNames();
37151 setState(5130);
37152 match(FROM);
37153 setState(5131);
37154 tableReferences();
37155 }
37156 break;
37157 case FROM:
37158 enterOuterAlt(_localctx, 2);
37159 {
37160 setState(5133);
37161 match(FROM);
37162 setState(5134);
37163 multipleTableNames();
37164 setState(5135);
37165 match(USING);
37166 setState(5136);
37167 tableReferences();
37168 }
37169 break;
37170 default:
37171 throw new NoViableAltException(this);
37172 }
37173 }
37174 catch (RecognitionException re) {
37175 _localctx.exception = re;
37176 _errHandler.reportError(this, re);
37177 _errHandler.recover(this, re);
37178 }
37179 finally {
37180 exitRule();
37181 }
37182 return _localctx;
37183 }
37184
37185 public static class MultipleTableNamesContext extends ParserRuleContext {
37186 public List<TableNameContext> tableName() {
37187 return getRuleContexts(TableNameContext.class);
37188 }
37189 public TableNameContext tableName(int i) {
37190 return getRuleContext(TableNameContext.class,i);
37191 }
37192 public List<TerminalNode> DOT_ASTERISK_() { return getTokens(SQLServerStatementParser.DOT_ASTERISK_); }
37193 public TerminalNode DOT_ASTERISK_(int i) {
37194 return getToken(SQLServerStatementParser.DOT_ASTERISK_, i);
37195 }
37196 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
37197 public TerminalNode COMMA_(int i) {
37198 return getToken(SQLServerStatementParser.COMMA_, i);
37199 }
37200 public MultipleTableNamesContext(ParserRuleContext parent, int invokingState) {
37201 super(parent, invokingState);
37202 }
37203 @Override public int getRuleIndex() { return RULE_multipleTableNames; }
37204 @Override
37205 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37206 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTableNames(this);
37207 else return visitor.visitChildren(this);
37208 }
37209 }
37210
37211 public final MultipleTableNamesContext multipleTableNames() throws RecognitionException {
37212 MultipleTableNamesContext _localctx = new MultipleTableNamesContext(_ctx, getState());
37213 enterRule(_localctx, 712, RULE_multipleTableNames);
37214 int _la;
37215 try {
37216 enterOuterAlt(_localctx, 1);
37217 {
37218 setState(5140);
37219 tableName();
37220 setState(5142);
37221 _errHandler.sync(this);
37222 _la = _input.LA(1);
37223 if (_la==DOT_ASTERISK_) {
37224 {
37225 setState(5141);
37226 match(DOT_ASTERISK_);
37227 }
37228 }
37229
37230 setState(5151);
37231 _errHandler.sync(this);
37232 _la = _input.LA(1);
37233 while (_la==COMMA_) {
37234 {
37235 {
37236 setState(5144);
37237 match(COMMA_);
37238 setState(5145);
37239 tableName();
37240 setState(5147);
37241 _errHandler.sync(this);
37242 _la = _input.LA(1);
37243 if (_la==DOT_ASTERISK_) {
37244 {
37245 setState(5146);
37246 match(DOT_ASTERISK_);
37247 }
37248 }
37249
37250 }
37251 }
37252 setState(5153);
37253 _errHandler.sync(this);
37254 _la = _input.LA(1);
37255 }
37256 }
37257 }
37258 catch (RecognitionException re) {
37259 _localctx.exception = re;
37260 _errHandler.reportError(this, re);
37261 _errHandler.recover(this, re);
37262 }
37263 finally {
37264 exitRule();
37265 }
37266 return _localctx;
37267 }
37268
37269 public static class SelectContext extends ParserRuleContext {
37270 public AggregationClauseContext aggregationClause() {
37271 return getRuleContext(AggregationClauseContext.class,0);
37272 }
37273 public SelectContext(ParserRuleContext parent, int invokingState) {
37274 super(parent, invokingState);
37275 }
37276 @Override public int getRuleIndex() { return RULE_select; }
37277 @Override
37278 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37279 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelect(this);
37280 else return visitor.visitChildren(this);
37281 }
37282 }
37283
37284 public final SelectContext select() throws RecognitionException {
37285 SelectContext _localctx = new SelectContext(_ctx, getState());
37286 enterRule(_localctx, 714, RULE_select);
37287 try {
37288 enterOuterAlt(_localctx, 1);
37289 {
37290 setState(5154);
37291 aggregationClause();
37292 }
37293 }
37294 catch (RecognitionException re) {
37295 _localctx.exception = re;
37296 _errHandler.reportError(this, re);
37297 _errHandler.recover(this, re);
37298 }
37299 finally {
37300 exitRule();
37301 }
37302 return _localctx;
37303 }
37304
37305 public static class AggregationClauseContext extends ParserRuleContext {
37306 public List<SelectClauseContext> selectClause() {
37307 return getRuleContexts(SelectClauseContext.class);
37308 }
37309 public SelectClauseContext selectClause(int i) {
37310 return getRuleContext(SelectClauseContext.class,i);
37311 }
37312 public List<TerminalNode> UNION() { return getTokens(SQLServerStatementParser.UNION); }
37313 public TerminalNode UNION(int i) {
37314 return getToken(SQLServerStatementParser.UNION, i);
37315 }
37316 public List<TerminalNode> EXCEPT() { return getTokens(SQLServerStatementParser.EXCEPT); }
37317 public TerminalNode EXCEPT(int i) {
37318 return getToken(SQLServerStatementParser.EXCEPT, i);
37319 }
37320 public List<TerminalNode> INTERSECT() { return getTokens(SQLServerStatementParser.INTERSECT); }
37321 public TerminalNode INTERSECT(int i) {
37322 return getToken(SQLServerStatementParser.INTERSECT, i);
37323 }
37324 public List<TerminalNode> ALL() { return getTokens(SQLServerStatementParser.ALL); }
37325 public TerminalNode ALL(int i) {
37326 return getToken(SQLServerStatementParser.ALL, i);
37327 }
37328 public AggregationClauseContext(ParserRuleContext parent, int invokingState) {
37329 super(parent, invokingState);
37330 }
37331 @Override public int getRuleIndex() { return RULE_aggregationClause; }
37332 @Override
37333 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37334 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationClause(this);
37335 else return visitor.visitChildren(this);
37336 }
37337 }
37338
37339 public final AggregationClauseContext aggregationClause() throws RecognitionException {
37340 AggregationClauseContext _localctx = new AggregationClauseContext(_ctx, getState());
37341 enterRule(_localctx, 716, RULE_aggregationClause);
37342 int _la;
37343 try {
37344 enterOuterAlt(_localctx, 1);
37345 {
37346 setState(5156);
37347 selectClause();
37348 setState(5168);
37349 _errHandler.sync(this);
37350 _la = _input.LA(1);
37351 while (_la==UNION || _la==EXCEPT || _la==INTERSECT) {
37352 {
37353 {
37354 setState(5163);
37355 _errHandler.sync(this);
37356 switch (_input.LA(1)) {
37357 case UNION:
37358 {
37359 setState(5157);
37360 match(UNION);
37361 setState(5159);
37362 _errHandler.sync(this);
37363 _la = _input.LA(1);
37364 if (_la==ALL) {
37365 {
37366 setState(5158);
37367 match(ALL);
37368 }
37369 }
37370
37371 }
37372 break;
37373 case EXCEPT:
37374 {
37375 setState(5161);
37376 match(EXCEPT);
37377 }
37378 break;
37379 case INTERSECT:
37380 {
37381 setState(5162);
37382 match(INTERSECT);
37383 }
37384 break;
37385 default:
37386 throw new NoViableAltException(this);
37387 }
37388 setState(5165);
37389 selectClause();
37390 }
37391 }
37392 setState(5170);
37393 _errHandler.sync(this);
37394 _la = _input.LA(1);
37395 }
37396 }
37397 }
37398 catch (RecognitionException re) {
37399 _localctx.exception = re;
37400 _errHandler.reportError(this, re);
37401 _errHandler.recover(this, re);
37402 }
37403 finally {
37404 exitRule();
37405 }
37406 return _localctx;
37407 }
37408
37409 public static class SelectClauseContext extends ParserRuleContext {
37410 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
37411 public ProjectionsContext projections() {
37412 return getRuleContext(ProjectionsContext.class,0);
37413 }
37414 public SelectWithClauseContext selectWithClause() {
37415 return getRuleContext(SelectWithClauseContext.class,0);
37416 }
37417 public DuplicateSpecificationContext duplicateSpecification() {
37418 return getRuleContext(DuplicateSpecificationContext.class,0);
37419 }
37420 public FromClauseContext fromClause() {
37421 return getRuleContext(FromClauseContext.class,0);
37422 }
37423 public WhereClauseContext whereClause() {
37424 return getRuleContext(WhereClauseContext.class,0);
37425 }
37426 public GroupByClauseContext groupByClause() {
37427 return getRuleContext(GroupByClauseContext.class,0);
37428 }
37429 public HavingClauseContext havingClause() {
37430 return getRuleContext(HavingClauseContext.class,0);
37431 }
37432 public OrderByClauseContext orderByClause() {
37433 return getRuleContext(OrderByClauseContext.class,0);
37434 }
37435 public ForClauseContext forClause() {
37436 return getRuleContext(ForClauseContext.class,0);
37437 }
37438 public SelectClauseContext(ParserRuleContext parent, int invokingState) {
37439 super(parent, invokingState);
37440 }
37441 @Override public int getRuleIndex() { return RULE_selectClause; }
37442 @Override
37443 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37444 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectClause(this);
37445 else return visitor.visitChildren(this);
37446 }
37447 }
37448
37449 public final SelectClauseContext selectClause() throws RecognitionException {
37450 SelectClauseContext _localctx = new SelectClauseContext(_ctx, getState());
37451 enterRule(_localctx, 718, RULE_selectClause);
37452 int _la;
37453 try {
37454 enterOuterAlt(_localctx, 1);
37455 {
37456 setState(5172);
37457 _errHandler.sync(this);
37458 _la = _input.LA(1);
37459 if (_la==WITH) {
37460 {
37461 setState(5171);
37462 selectWithClause();
37463 }
37464 }
37465
37466 setState(5174);
37467 match(SELECT);
37468 setState(5176);
37469 _errHandler.sync(this);
37470 _la = _input.LA(1);
37471 if (_la==DISTINCT || _la==ALL) {
37472 {
37473 setState(5175);
37474 duplicateSpecification();
37475 }
37476 }
37477
37478 setState(5178);
37479 projections();
37480 setState(5180);
37481 _errHandler.sync(this);
37482 _la = _input.LA(1);
37483 if (_la==FROM) {
37484 {
37485 setState(5179);
37486 fromClause();
37487 }
37488 }
37489
37490 setState(5183);
37491 _errHandler.sync(this);
37492 _la = _input.LA(1);
37493 if (_la==WHERE) {
37494 {
37495 setState(5182);
37496 whereClause();
37497 }
37498 }
37499
37500 setState(5186);
37501 _errHandler.sync(this);
37502 _la = _input.LA(1);
37503 if (_la==GROUP) {
37504 {
37505 setState(5185);
37506 groupByClause();
37507 }
37508 }
37509
37510 setState(5189);
37511 _errHandler.sync(this);
37512 _la = _input.LA(1);
37513 if (_la==HAVING) {
37514 {
37515 setState(5188);
37516 havingClause();
37517 }
37518 }
37519
37520 setState(5192);
37521 _errHandler.sync(this);
37522 _la = _input.LA(1);
37523 if (_la==ORDER) {
37524 {
37525 setState(5191);
37526 orderByClause();
37527 }
37528 }
37529
37530 setState(5195);
37531 _errHandler.sync(this);
37532 switch ( getInterpreter().adaptivePredict(_input,583,_ctx) ) {
37533 case 1:
37534 {
37535 setState(5194);
37536 forClause();
37537 }
37538 break;
37539 }
37540 }
37541 }
37542 catch (RecognitionException re) {
37543 _localctx.exception = re;
37544 _errHandler.reportError(this, re);
37545 _errHandler.recover(this, re);
37546 }
37547 finally {
37548 exitRule();
37549 }
37550 return _localctx;
37551 }
37552
37553 public static class DuplicateSpecificationContext extends ParserRuleContext {
37554 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
37555 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
37556 public DuplicateSpecificationContext(ParserRuleContext parent, int invokingState) {
37557 super(parent, invokingState);
37558 }
37559 @Override public int getRuleIndex() { return RULE_duplicateSpecification; }
37560 @Override
37561 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37562 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDuplicateSpecification(this);
37563 else return visitor.visitChildren(this);
37564 }
37565 }
37566
37567 public final DuplicateSpecificationContext duplicateSpecification() throws RecognitionException {
37568 DuplicateSpecificationContext _localctx = new DuplicateSpecificationContext(_ctx, getState());
37569 enterRule(_localctx, 720, RULE_duplicateSpecification);
37570 int _la;
37571 try {
37572 enterOuterAlt(_localctx, 1);
37573 {
37574 setState(5197);
37575 _la = _input.LA(1);
37576 if ( !(_la==DISTINCT || _la==ALL) ) {
37577 _errHandler.recoverInline(this);
37578 }
37579 else {
37580 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
37581 _errHandler.reportMatch(this);
37582 consume();
37583 }
37584 }
37585 }
37586 catch (RecognitionException re) {
37587 _localctx.exception = re;
37588 _errHandler.reportError(this, re);
37589 _errHandler.recover(this, re);
37590 }
37591 finally {
37592 exitRule();
37593 }
37594 return _localctx;
37595 }
37596
37597 public static class ProjectionsContext extends ParserRuleContext {
37598 public List<ProjectionContext> projection() {
37599 return getRuleContexts(ProjectionContext.class);
37600 }
37601 public ProjectionContext projection(int i) {
37602 return getRuleContext(ProjectionContext.class,i);
37603 }
37604 public TopContext top() {
37605 return getRuleContext(TopContext.class,0);
37606 }
37607 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
37608 public TerminalNode COMMA_(int i) {
37609 return getToken(SQLServerStatementParser.COMMA_, i);
37610 }
37611 public ProjectionsContext(ParserRuleContext parent, int invokingState) {
37612 super(parent, invokingState);
37613 }
37614 @Override public int getRuleIndex() { return RULE_projections; }
37615 @Override
37616 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37617 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjections(this);
37618 else return visitor.visitChildren(this);
37619 }
37620 }
37621
37622 public final ProjectionsContext projections() throws RecognitionException {
37623 ProjectionsContext _localctx = new ProjectionsContext(_ctx, getState());
37624 enterRule(_localctx, 722, RULE_projections);
37625 int _la;
37626 try {
37627 enterOuterAlt(_localctx, 1);
37628 {
37629 setState(5204);
37630 _errHandler.sync(this);
37631 switch ( getInterpreter().adaptivePredict(_input,585,_ctx) ) {
37632 case 1:
37633 {
37634 setState(5199);
37635 projection();
37636 }
37637 break;
37638 case 2:
37639 {
37640 setState(5200);
37641 top();
37642 setState(5202);
37643 _errHandler.sync(this);
37644 switch ( getInterpreter().adaptivePredict(_input,584,_ctx) ) {
37645 case 1:
37646 {
37647 setState(5201);
37648 projection();
37649 }
37650 break;
37651 }
37652 }
37653 break;
37654 }
37655 setState(5210);
37656 _errHandler.sync(this);
37657 _la = _input.LA(1);
37658 while (_la==COMMA_) {
37659 {
37660 {
37661 setState(5206);
37662 match(COMMA_);
37663 setState(5207);
37664 projection();
37665 }
37666 }
37667 setState(5212);
37668 _errHandler.sync(this);
37669 _la = _input.LA(1);
37670 }
37671 }
37672 }
37673 catch (RecognitionException re) {
37674 _localctx.exception = re;
37675 _errHandler.reportError(this, re);
37676 _errHandler.recover(this, re);
37677 }
37678 finally {
37679 exitRule();
37680 }
37681 return _localctx;
37682 }
37683
37684 public static class ProjectionContext extends ParserRuleContext {
37685 public QualifiedShorthandContext qualifiedShorthand() {
37686 return getRuleContext(QualifiedShorthandContext.class,0);
37687 }
37688 public UnqualifiedShorthandContext unqualifiedShorthand() {
37689 return getRuleContext(UnqualifiedShorthandContext.class,0);
37690 }
37691 public ColumnNameContext columnName() {
37692 return getRuleContext(ColumnNameContext.class,0);
37693 }
37694 public ExprContext expr() {
37695 return getRuleContext(ExprContext.class,0);
37696 }
37697 public AliasContext alias() {
37698 return getRuleContext(AliasContext.class,0);
37699 }
37700 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
37701 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37702 public ProjectionContext(ParserRuleContext parent, int invokingState) {
37703 super(parent, invokingState);
37704 }
37705 @Override public int getRuleIndex() { return RULE_projection; }
37706 @Override
37707 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37708 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjection(this);
37709 else return visitor.visitChildren(this);
37710 }
37711 }
37712
37713 public final ProjectionContext projection() throws RecognitionException {
37714 ProjectionContext _localctx = new ProjectionContext(_ctx, getState());
37715 enterRule(_localctx, 724, RULE_projection);
37716 int _la;
37717 try {
37718 setState(5234);
37719 _errHandler.sync(this);
37720 switch ( getInterpreter().adaptivePredict(_input,592,_ctx) ) {
37721 case 1:
37722 enterOuterAlt(_localctx, 1);
37723 {
37724 setState(5213);
37725 qualifiedShorthand();
37726 }
37727 break;
37728 case 2:
37729 enterOuterAlt(_localctx, 2);
37730 {
37731 setState(5214);
37732 unqualifiedShorthand();
37733 }
37734 break;
37735 case 3:
37736 enterOuterAlt(_localctx, 3);
37737 {
37738 setState(5218);
37739 _errHandler.sync(this);
37740 switch ( getInterpreter().adaptivePredict(_input,587,_ctx) ) {
37741 case 1:
37742 {
37743 setState(5215);
37744 alias();
37745 setState(5216);
37746 match(EQ_);
37747 }
37748 break;
37749 }
37750 setState(5222);
37751 _errHandler.sync(this);
37752 switch ( getInterpreter().adaptivePredict(_input,588,_ctx) ) {
37753 case 1:
37754 {
37755 setState(5220);
37756 columnName();
37757 }
37758 break;
37759 case 2:
37760 {
37761 setState(5221);
37762 expr(0);
37763 }
37764 break;
37765 }
37766 }
37767 break;
37768 case 4:
37769 enterOuterAlt(_localctx, 4);
37770 {
37771 setState(5226);
37772 _errHandler.sync(this);
37773 switch ( getInterpreter().adaptivePredict(_input,589,_ctx) ) {
37774 case 1:
37775 {
37776 setState(5224);
37777 columnName();
37778 }
37779 break;
37780 case 2:
37781 {
37782 setState(5225);
37783 expr(0);
37784 }
37785 break;
37786 }
37787 setState(5232);
37788 _errHandler.sync(this);
37789 switch ( getInterpreter().adaptivePredict(_input,591,_ctx) ) {
37790 case 1:
37791 {
37792 setState(5229);
37793 _errHandler.sync(this);
37794 _la = _input.LA(1);
37795 if (_la==AS) {
37796 {
37797 setState(5228);
37798 match(AS);
37799 }
37800 }
37801
37802 setState(5231);
37803 alias();
37804 }
37805 break;
37806 }
37807 }
37808 break;
37809 }
37810 }
37811 catch (RecognitionException re) {
37812 _localctx.exception = re;
37813 _errHandler.reportError(this, re);
37814 _errHandler.recover(this, re);
37815 }
37816 finally {
37817 exitRule();
37818 }
37819 return _localctx;
37820 }
37821
37822 public static class TopContext extends ParserRuleContext {
37823 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
37824 public TopNumContext topNum() {
37825 return getRuleContext(TopNumContext.class,0);
37826 }
37827 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
37828 public TerminalNode LP_(int i) {
37829 return getToken(SQLServerStatementParser.LP_, i);
37830 }
37831 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
37832 public TerminalNode RP_(int i) {
37833 return getToken(SQLServerStatementParser.RP_, i);
37834 }
37835 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
37836 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
37837 public TerminalNode TIES() { return getToken(SQLServerStatementParser.TIES, 0); }
37838 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
37839 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
37840 public OrderByClauseContext orderByClause() {
37841 return getRuleContext(OrderByClauseContext.class,0);
37842 }
37843 public AliasContext alias() {
37844 return getRuleContext(AliasContext.class,0);
37845 }
37846 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37847 public TopContext(ParserRuleContext parent, int invokingState) {
37848 super(parent, invokingState);
37849 }
37850 @Override public int getRuleIndex() { return RULE_top; }
37851 @Override
37852 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37853 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTop(this);
37854 else return visitor.visitChildren(this);
37855 }
37856 }
37857
37858 public final TopContext top() throws RecognitionException {
37859 TopContext _localctx = new TopContext(_ctx, getState());
37860 enterRule(_localctx, 726, RULE_top);
37861 int _la;
37862 try {
37863 enterOuterAlt(_localctx, 1);
37864 {
37865 setState(5236);
37866 match(TOP);
37867 setState(5238);
37868 _errHandler.sync(this);
37869 _la = _input.LA(1);
37870 if (_la==LP_) {
37871 {
37872 setState(5237);
37873 match(LP_);
37874 }
37875 }
37876
37877 setState(5240);
37878 topNum();
37879 setState(5242);
37880 _errHandler.sync(this);
37881 switch ( getInterpreter().adaptivePredict(_input,594,_ctx) ) {
37882 case 1:
37883 {
37884 setState(5241);
37885 match(RP_);
37886 }
37887 break;
37888 }
37889 setState(5245);
37890 _errHandler.sync(this);
37891 _la = _input.LA(1);
37892 if (_la==PERCENT) {
37893 {
37894 setState(5244);
37895 match(PERCENT);
37896 }
37897 }
37898
37899 setState(5249);
37900 _errHandler.sync(this);
37901 switch ( getInterpreter().adaptivePredict(_input,596,_ctx) ) {
37902 case 1:
37903 {
37904 setState(5247);
37905 match(WITH);
37906 setState(5248);
37907 match(TIES);
37908 }
37909 break;
37910 }
37911 setState(5264);
37912 _errHandler.sync(this);
37913 switch ( getInterpreter().adaptivePredict(_input,599,_ctx) ) {
37914 case 1:
37915 {
37916 setState(5251);
37917 match(ROW_NUMBER);
37918 setState(5252);
37919 match(LP_);
37920 setState(5253);
37921 match(RP_);
37922 setState(5254);
37923 match(OVER);
37924 setState(5255);
37925 match(LP_);
37926 setState(5256);
37927 orderByClause();
37928 setState(5257);
37929 match(RP_);
37930 setState(5262);
37931 _errHandler.sync(this);
37932 switch ( getInterpreter().adaptivePredict(_input,598,_ctx) ) {
37933 case 1:
37934 {
37935 setState(5259);
37936 _errHandler.sync(this);
37937 _la = _input.LA(1);
37938 if (_la==AS) {
37939 {
37940 setState(5258);
37941 match(AS);
37942 }
37943 }
37944
37945 setState(5261);
37946 alias();
37947 }
37948 break;
37949 }
37950 }
37951 break;
37952 }
37953 }
37954 }
37955 catch (RecognitionException re) {
37956 _localctx.exception = re;
37957 _errHandler.reportError(this, re);
37958 _errHandler.recover(this, re);
37959 }
37960 finally {
37961 exitRule();
37962 }
37963 return _localctx;
37964 }
37965
37966 public static class TopNumContext extends ParserRuleContext {
37967 public NumberLiteralsContext numberLiterals() {
37968 return getRuleContext(NumberLiteralsContext.class,0);
37969 }
37970 public ParameterMarkerContext parameterMarker() {
37971 return getRuleContext(ParameterMarkerContext.class,0);
37972 }
37973 public TopNumContext(ParserRuleContext parent, int invokingState) {
37974 super(parent, invokingState);
37975 }
37976 @Override public int getRuleIndex() { return RULE_topNum; }
37977 @Override
37978 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37979 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTopNum(this);
37980 else return visitor.visitChildren(this);
37981 }
37982 }
37983
37984 public final TopNumContext topNum() throws RecognitionException {
37985 TopNumContext _localctx = new TopNumContext(_ctx, getState());
37986 enterRule(_localctx, 728, RULE_topNum);
37987 try {
37988 setState(5268);
37989 _errHandler.sync(this);
37990 switch (_input.LA(1)) {
37991 case PLUS_:
37992 case MINUS_:
37993 case NUMBER_:
37994 enterOuterAlt(_localctx, 1);
37995 {
37996 setState(5266);
37997 numberLiterals();
37998 }
37999 break;
38000 case QUESTION_:
38001 enterOuterAlt(_localctx, 2);
38002 {
38003 setState(5267);
38004 parameterMarker();
38005 }
38006 break;
38007 default:
38008 throw new NoViableAltException(this);
38009 }
38010 }
38011 catch (RecognitionException re) {
38012 _localctx.exception = re;
38013 _errHandler.reportError(this, re);
38014 _errHandler.recover(this, re);
38015 }
38016 finally {
38017 exitRule();
38018 }
38019 return _localctx;
38020 }
38021
38022 public static class UnqualifiedShorthandContext extends ParserRuleContext {
38023 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
38024 public UnqualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
38025 super(parent, invokingState);
38026 }
38027 @Override public int getRuleIndex() { return RULE_unqualifiedShorthand; }
38028 @Override
38029 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38030 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnqualifiedShorthand(this);
38031 else return visitor.visitChildren(this);
38032 }
38033 }
38034
38035 public final UnqualifiedShorthandContext unqualifiedShorthand() throws RecognitionException {
38036 UnqualifiedShorthandContext _localctx = new UnqualifiedShorthandContext(_ctx, getState());
38037 enterRule(_localctx, 730, RULE_unqualifiedShorthand);
38038 try {
38039 enterOuterAlt(_localctx, 1);
38040 {
38041 setState(5270);
38042 match(ASTERISK_);
38043 }
38044 }
38045 catch (RecognitionException re) {
38046 _localctx.exception = re;
38047 _errHandler.reportError(this, re);
38048 _errHandler.recover(this, re);
38049 }
38050 finally {
38051 exitRule();
38052 }
38053 return _localctx;
38054 }
38055
38056 public static class QualifiedShorthandContext extends ParserRuleContext {
38057 public IdentifierContext identifier() {
38058 return getRuleContext(IdentifierContext.class,0);
38059 }
38060 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
38061 public QualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
38062 super(parent, invokingState);
38063 }
38064 @Override public int getRuleIndex() { return RULE_qualifiedShorthand; }
38065 @Override
38066 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38067 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQualifiedShorthand(this);
38068 else return visitor.visitChildren(this);
38069 }
38070 }
38071
38072 public final QualifiedShorthandContext qualifiedShorthand() throws RecognitionException {
38073 QualifiedShorthandContext _localctx = new QualifiedShorthandContext(_ctx, getState());
38074 enterRule(_localctx, 732, RULE_qualifiedShorthand);
38075 try {
38076 enterOuterAlt(_localctx, 1);
38077 {
38078 setState(5272);
38079 identifier();
38080 setState(5273);
38081 match(DOT_ASTERISK_);
38082 }
38083 }
38084 catch (RecognitionException re) {
38085 _localctx.exception = re;
38086 _errHandler.reportError(this, re);
38087 _errHandler.recover(this, re);
38088 }
38089 finally {
38090 exitRule();
38091 }
38092 return _localctx;
38093 }
38094
38095 public static class FromClauseContext extends ParserRuleContext {
38096 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
38097 public TableReferencesContext tableReferences() {
38098 return getRuleContext(TableReferencesContext.class,0);
38099 }
38100 public FromClauseContext(ParserRuleContext parent, int invokingState) {
38101 super(parent, invokingState);
38102 }
38103 @Override public int getRuleIndex() { return RULE_fromClause; }
38104 @Override
38105 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38106 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFromClause(this);
38107 else return visitor.visitChildren(this);
38108 }
38109 }
38110
38111 public final FromClauseContext fromClause() throws RecognitionException {
38112 FromClauseContext _localctx = new FromClauseContext(_ctx, getState());
38113 enterRule(_localctx, 734, RULE_fromClause);
38114 try {
38115 enterOuterAlt(_localctx, 1);
38116 {
38117 setState(5275);
38118 match(FROM);
38119 setState(5276);
38120 tableReferences();
38121 }
38122 }
38123 catch (RecognitionException re) {
38124 _localctx.exception = re;
38125 _errHandler.reportError(this, re);
38126 _errHandler.recover(this, re);
38127 }
38128 finally {
38129 exitRule();
38130 }
38131 return _localctx;
38132 }
38133
38134 public static class TableReferencesContext extends ParserRuleContext {
38135 public List<TableReferenceContext> tableReference() {
38136 return getRuleContexts(TableReferenceContext.class);
38137 }
38138 public TableReferenceContext tableReference(int i) {
38139 return getRuleContext(TableReferenceContext.class,i);
38140 }
38141 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38142 public TerminalNode COMMA_(int i) {
38143 return getToken(SQLServerStatementParser.COMMA_, i);
38144 }
38145 public TableReferencesContext(ParserRuleContext parent, int invokingState) {
38146 super(parent, invokingState);
38147 }
38148 @Override public int getRuleIndex() { return RULE_tableReferences; }
38149 @Override
38150 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38151 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReferences(this);
38152 else return visitor.visitChildren(this);
38153 }
38154 }
38155
38156 public final TableReferencesContext tableReferences() throws RecognitionException {
38157 TableReferencesContext _localctx = new TableReferencesContext(_ctx, getState());
38158 enterRule(_localctx, 736, RULE_tableReferences);
38159 int _la;
38160 try {
38161 enterOuterAlt(_localctx, 1);
38162 {
38163 setState(5278);
38164 tableReference();
38165 setState(5283);
38166 _errHandler.sync(this);
38167 _la = _input.LA(1);
38168 while (_la==COMMA_) {
38169 {
38170 {
38171 setState(5279);
38172 match(COMMA_);
38173 setState(5280);
38174 tableReference();
38175 }
38176 }
38177 setState(5285);
38178 _errHandler.sync(this);
38179 _la = _input.LA(1);
38180 }
38181 }
38182 }
38183 catch (RecognitionException re) {
38184 _localctx.exception = re;
38185 _errHandler.reportError(this, re);
38186 _errHandler.recover(this, re);
38187 }
38188 finally {
38189 exitRule();
38190 }
38191 return _localctx;
38192 }
38193
38194 public static class TableReferenceContext extends ParserRuleContext {
38195 public TableFactorContext tableFactor() {
38196 return getRuleContext(TableFactorContext.class,0);
38197 }
38198 public List<JoinedTableContext> joinedTable() {
38199 return getRuleContexts(JoinedTableContext.class);
38200 }
38201 public JoinedTableContext joinedTable(int i) {
38202 return getRuleContext(JoinedTableContext.class,i);
38203 }
38204 public TableReferenceContext(ParserRuleContext parent, int invokingState) {
38205 super(parent, invokingState);
38206 }
38207 @Override public int getRuleIndex() { return RULE_tableReference; }
38208 @Override
38209 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38210 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReference(this);
38211 else return visitor.visitChildren(this);
38212 }
38213 }
38214
38215 public final TableReferenceContext tableReference() throws RecognitionException {
38216 TableReferenceContext _localctx = new TableReferenceContext(_ctx, getState());
38217 enterRule(_localctx, 738, RULE_tableReference);
38218 int _la;
38219 try {
38220 enterOuterAlt(_localctx, 1);
38221 {
38222 setState(5286);
38223 tableFactor();
38224 setState(5290);
38225 _errHandler.sync(this);
38226 _la = _input.LA(1);
38227 while (((((_la - 86)) & ~0x3f) == 0 && ((1L << (_la - 86)) & ((1L << (NATURAL - 86)) | (1L << (JOIN - 86)) | (1L << (FULL - 86)) | (1L << (INNER - 86)) | (1L << (OUTER - 86)) | (1L << (LEFT - 86)) | (1L << (RIGHT - 86)) | (1L << (CROSS - 86)))) != 0)) {
38228 {
38229 {
38230 setState(5287);
38231 joinedTable();
38232 }
38233 }
38234 setState(5292);
38235 _errHandler.sync(this);
38236 _la = _input.LA(1);
38237 }
38238 }
38239 }
38240 catch (RecognitionException re) {
38241 _localctx.exception = re;
38242 _errHandler.reportError(this, re);
38243 _errHandler.recover(this, re);
38244 }
38245 finally {
38246 exitRule();
38247 }
38248 return _localctx;
38249 }
38250
38251 public static class TableFactorContext extends ParserRuleContext {
38252 public TableNameContext tableName() {
38253 return getRuleContext(TableNameContext.class,0);
38254 }
38255 public AliasContext alias() {
38256 return getRuleContext(AliasContext.class,0);
38257 }
38258 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
38259 public SubqueryContext subquery() {
38260 return getRuleContext(SubqueryContext.class,0);
38261 }
38262 public ColumnNamesContext columnNames() {
38263 return getRuleContext(ColumnNamesContext.class,0);
38264 }
38265 public ExprContext expr() {
38266 return getRuleContext(ExprContext.class,0);
38267 }
38268 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
38269 public TableReferencesContext tableReferences() {
38270 return getRuleContext(TableReferencesContext.class,0);
38271 }
38272 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
38273 public TableFactorContext(ParserRuleContext parent, int invokingState) {
38274 super(parent, invokingState);
38275 }
38276 @Override public int getRuleIndex() { return RULE_tableFactor; }
38277 @Override
38278 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38279 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableFactor(this);
38280 else return visitor.visitChildren(this);
38281 }
38282 }
38283
38284 public final TableFactorContext tableFactor() throws RecognitionException {
38285 TableFactorContext _localctx = new TableFactorContext(_ctx, getState());
38286 enterRule(_localctx, 740, RULE_tableFactor);
38287 int _la;
38288 try {
38289 setState(5319);
38290 _errHandler.sync(this);
38291 switch ( getInterpreter().adaptivePredict(_input,609,_ctx) ) {
38292 case 1:
38293 enterOuterAlt(_localctx, 1);
38294 {
38295 setState(5293);
38296 tableName();
38297 setState(5298);
38298 _errHandler.sync(this);
38299 switch ( getInterpreter().adaptivePredict(_input,604,_ctx) ) {
38300 case 1:
38301 {
38302 setState(5295);
38303 _errHandler.sync(this);
38304 _la = _input.LA(1);
38305 if (_la==AS) {
38306 {
38307 setState(5294);
38308 match(AS);
38309 }
38310 }
38311
38312 setState(5297);
38313 alias();
38314 }
38315 break;
38316 }
38317 }
38318 break;
38319 case 2:
38320 enterOuterAlt(_localctx, 2);
38321 {
38322 setState(5300);
38323 subquery();
38324 setState(5302);
38325 _errHandler.sync(this);
38326 _la = _input.LA(1);
38327 if (_la==AS) {
38328 {
38329 setState(5301);
38330 match(AS);
38331 }
38332 }
38333
38334 setState(5304);
38335 alias();
38336 setState(5306);
38337 _errHandler.sync(this);
38338 _la = _input.LA(1);
38339 if (_la==LP_) {
38340 {
38341 setState(5305);
38342 columnNames();
38343 }
38344 }
38345
38346 }
38347 break;
38348 case 3:
38349 enterOuterAlt(_localctx, 3);
38350 {
38351 setState(5308);
38352 expr(0);
38353 setState(5313);
38354 _errHandler.sync(this);
38355 switch ( getInterpreter().adaptivePredict(_input,608,_ctx) ) {
38356 case 1:
38357 {
38358 setState(5310);
38359 _errHandler.sync(this);
38360 _la = _input.LA(1);
38361 if (_la==AS) {
38362 {
38363 setState(5309);
38364 match(AS);
38365 }
38366 }
38367
38368 setState(5312);
38369 alias();
38370 }
38371 break;
38372 }
38373 }
38374 break;
38375 case 4:
38376 enterOuterAlt(_localctx, 4);
38377 {
38378 setState(5315);
38379 match(LP_);
38380 setState(5316);
38381 tableReferences();
38382 setState(5317);
38383 match(RP_);
38384 }
38385 break;
38386 }
38387 }
38388 catch (RecognitionException re) {
38389 _localctx.exception = re;
38390 _errHandler.reportError(this, re);
38391 _errHandler.recover(this, re);
38392 }
38393 finally {
38394 exitRule();
38395 }
38396 return _localctx;
38397 }
38398
38399 public static class JoinedTableContext extends ParserRuleContext {
38400 public TableFactorContext tableFactor() {
38401 return getRuleContext(TableFactorContext.class,0);
38402 }
38403 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
38404 public TerminalNode NATURAL() { return getToken(SQLServerStatementParser.NATURAL, 0); }
38405 public JoinSpecificationContext joinSpecification() {
38406 return getRuleContext(JoinSpecificationContext.class,0);
38407 }
38408 public TerminalNode INNER() { return getToken(SQLServerStatementParser.INNER, 0); }
38409 public TerminalNode CROSS() { return getToken(SQLServerStatementParser.CROSS, 0); }
38410 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
38411 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
38412 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
38413 public TerminalNode OUTER() { return getToken(SQLServerStatementParser.OUTER, 0); }
38414 public TerminalNode APPLY() { return getToken(SQLServerStatementParser.APPLY, 0); }
38415 public JoinedTableContext(ParserRuleContext parent, int invokingState) {
38416 super(parent, invokingState);
38417 }
38418 @Override public int getRuleIndex() { return RULE_joinedTable; }
38419 @Override
38420 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38421 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinedTable(this);
38422 else return visitor.visitChildren(this);
38423 }
38424 }
38425
38426 public final JoinedTableContext joinedTable() throws RecognitionException {
38427 JoinedTableContext _localctx = new JoinedTableContext(_ctx, getState());
38428 enterRule(_localctx, 742, RULE_joinedTable);
38429 int _la;
38430 try {
38431 setState(5351);
38432 _errHandler.sync(this);
38433 switch ( getInterpreter().adaptivePredict(_input,617,_ctx) ) {
38434 case 1:
38435 enterOuterAlt(_localctx, 1);
38436 {
38437 setState(5322);
38438 _errHandler.sync(this);
38439 _la = _input.LA(1);
38440 if (_la==NATURAL) {
38441 {
38442 setState(5321);
38443 match(NATURAL);
38444 }
38445 }
38446
38447 {
38448 setState(5325);
38449 _errHandler.sync(this);
38450 _la = _input.LA(1);
38451 if (_la==INNER || _la==CROSS) {
38452 {
38453 setState(5324);
38454 _la = _input.LA(1);
38455 if ( !(_la==INNER || _la==CROSS) ) {
38456 _errHandler.recoverInline(this);
38457 }
38458 else {
38459 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38460 _errHandler.reportMatch(this);
38461 consume();
38462 }
38463 }
38464 }
38465
38466 setState(5327);
38467 match(JOIN);
38468 }
38469 setState(5329);
38470 tableFactor();
38471 setState(5331);
38472 _errHandler.sync(this);
38473 _la = _input.LA(1);
38474 if (_la==USING || _la==ON) {
38475 {
38476 setState(5330);
38477 joinSpecification();
38478 }
38479 }
38480
38481 }
38482 break;
38483 case 2:
38484 enterOuterAlt(_localctx, 2);
38485 {
38486 setState(5334);
38487 _errHandler.sync(this);
38488 _la = _input.LA(1);
38489 if (_la==NATURAL) {
38490 {
38491 setState(5333);
38492 match(NATURAL);
38493 }
38494 }
38495
38496 setState(5336);
38497 _la = _input.LA(1);
38498 if ( !(((((_la - 88)) & ~0x3f) == 0 && ((1L << (_la - 88)) & ((1L << (FULL - 88)) | (1L << (LEFT - 88)) | (1L << (RIGHT - 88)))) != 0)) ) {
38499 _errHandler.recoverInline(this);
38500 }
38501 else {
38502 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38503 _errHandler.reportMatch(this);
38504 consume();
38505 }
38506 setState(5338);
38507 _errHandler.sync(this);
38508 _la = _input.LA(1);
38509 if (_la==OUTER) {
38510 {
38511 setState(5337);
38512 match(OUTER);
38513 }
38514 }
38515
38516 setState(5340);
38517 match(JOIN);
38518 setState(5341);
38519 tableFactor();
38520 setState(5343);
38521 _errHandler.sync(this);
38522 _la = _input.LA(1);
38523 if (_la==USING || _la==ON) {
38524 {
38525 setState(5342);
38526 joinSpecification();
38527 }
38528 }
38529
38530 }
38531 break;
38532 case 3:
38533 enterOuterAlt(_localctx, 3);
38534 {
38535 setState(5345);
38536 _la = _input.LA(1);
38537 if ( !(_la==OUTER || _la==CROSS) ) {
38538 _errHandler.recoverInline(this);
38539 }
38540 else {
38541 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38542 _errHandler.reportMatch(this);
38543 consume();
38544 }
38545 setState(5346);
38546 match(APPLY);
38547 setState(5347);
38548 tableFactor();
38549 setState(5349);
38550 _errHandler.sync(this);
38551 _la = _input.LA(1);
38552 if (_la==USING || _la==ON) {
38553 {
38554 setState(5348);
38555 joinSpecification();
38556 }
38557 }
38558
38559 }
38560 break;
38561 }
38562 }
38563 catch (RecognitionException re) {
38564 _localctx.exception = re;
38565 _errHandler.reportError(this, re);
38566 _errHandler.recover(this, re);
38567 }
38568 finally {
38569 exitRule();
38570 }
38571 return _localctx;
38572 }
38573
38574 public static class JoinSpecificationContext extends ParserRuleContext {
38575 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
38576 public ExprContext expr() {
38577 return getRuleContext(ExprContext.class,0);
38578 }
38579 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
38580 public ColumnNamesContext columnNames() {
38581 return getRuleContext(ColumnNamesContext.class,0);
38582 }
38583 public JoinSpecificationContext(ParserRuleContext parent, int invokingState) {
38584 super(parent, invokingState);
38585 }
38586 @Override public int getRuleIndex() { return RULE_joinSpecification; }
38587 @Override
38588 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38589 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinSpecification(this);
38590 else return visitor.visitChildren(this);
38591 }
38592 }
38593
38594 public final JoinSpecificationContext joinSpecification() throws RecognitionException {
38595 JoinSpecificationContext _localctx = new JoinSpecificationContext(_ctx, getState());
38596 enterRule(_localctx, 744, RULE_joinSpecification);
38597 try {
38598 setState(5357);
38599 _errHandler.sync(this);
38600 switch (_input.LA(1)) {
38601 case ON:
38602 enterOuterAlt(_localctx, 1);
38603 {
38604 setState(5353);
38605 match(ON);
38606 setState(5354);
38607 expr(0);
38608 }
38609 break;
38610 case USING:
38611 enterOuterAlt(_localctx, 2);
38612 {
38613 setState(5355);
38614 match(USING);
38615 setState(5356);
38616 columnNames();
38617 }
38618 break;
38619 default:
38620 throw new NoViableAltException(this);
38621 }
38622 }
38623 catch (RecognitionException re) {
38624 _localctx.exception = re;
38625 _errHandler.reportError(this, re);
38626 _errHandler.recover(this, re);
38627 }
38628 finally {
38629 exitRule();
38630 }
38631 return _localctx;
38632 }
38633
38634 public static class WhereClauseContext extends ParserRuleContext {
38635 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
38636 public ExprContext expr() {
38637 return getRuleContext(ExprContext.class,0);
38638 }
38639 public WhereClauseContext(ParserRuleContext parent, int invokingState) {
38640 super(parent, invokingState);
38641 }
38642 @Override public int getRuleIndex() { return RULE_whereClause; }
38643 @Override
38644 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38645 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWhereClause(this);
38646 else return visitor.visitChildren(this);
38647 }
38648 }
38649
38650 public final WhereClauseContext whereClause() throws RecognitionException {
38651 WhereClauseContext _localctx = new WhereClauseContext(_ctx, getState());
38652 enterRule(_localctx, 746, RULE_whereClause);
38653 try {
38654 enterOuterAlt(_localctx, 1);
38655 {
38656 setState(5359);
38657 match(WHERE);
38658 setState(5360);
38659 expr(0);
38660 }
38661 }
38662 catch (RecognitionException re) {
38663 _localctx.exception = re;
38664 _errHandler.reportError(this, re);
38665 _errHandler.recover(this, re);
38666 }
38667 finally {
38668 exitRule();
38669 }
38670 return _localctx;
38671 }
38672
38673 public static class GroupByClauseContext extends ParserRuleContext {
38674 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
38675 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
38676 public List<OrderByItemContext> orderByItem() {
38677 return getRuleContexts(OrderByItemContext.class);
38678 }
38679 public OrderByItemContext orderByItem(int i) {
38680 return getRuleContext(OrderByItemContext.class,i);
38681 }
38682 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38683 public TerminalNode COMMA_(int i) {
38684 return getToken(SQLServerStatementParser.COMMA_, i);
38685 }
38686 public GroupByClauseContext(ParserRuleContext parent, int invokingState) {
38687 super(parent, invokingState);
38688 }
38689 @Override public int getRuleIndex() { return RULE_groupByClause; }
38690 @Override
38691 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38692 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGroupByClause(this);
38693 else return visitor.visitChildren(this);
38694 }
38695 }
38696
38697 public final GroupByClauseContext groupByClause() throws RecognitionException {
38698 GroupByClauseContext _localctx = new GroupByClauseContext(_ctx, getState());
38699 enterRule(_localctx, 748, RULE_groupByClause);
38700 int _la;
38701 try {
38702 enterOuterAlt(_localctx, 1);
38703 {
38704 setState(5362);
38705 match(GROUP);
38706 setState(5363);
38707 match(BY);
38708 setState(5364);
38709 orderByItem();
38710 setState(5369);
38711 _errHandler.sync(this);
38712 _la = _input.LA(1);
38713 while (_la==COMMA_) {
38714 {
38715 {
38716 setState(5365);
38717 match(COMMA_);
38718 setState(5366);
38719 orderByItem();
38720 }
38721 }
38722 setState(5371);
38723 _errHandler.sync(this);
38724 _la = _input.LA(1);
38725 }
38726 }
38727 }
38728 catch (RecognitionException re) {
38729 _localctx.exception = re;
38730 _errHandler.reportError(this, re);
38731 _errHandler.recover(this, re);
38732 }
38733 finally {
38734 exitRule();
38735 }
38736 return _localctx;
38737 }
38738
38739 public static class HavingClauseContext extends ParserRuleContext {
38740 public TerminalNode HAVING() { return getToken(SQLServerStatementParser.HAVING, 0); }
38741 public ExprContext expr() {
38742 return getRuleContext(ExprContext.class,0);
38743 }
38744 public HavingClauseContext(ParserRuleContext parent, int invokingState) {
38745 super(parent, invokingState);
38746 }
38747 @Override public int getRuleIndex() { return RULE_havingClause; }
38748 @Override
38749 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38750 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHavingClause(this);
38751 else return visitor.visitChildren(this);
38752 }
38753 }
38754
38755 public final HavingClauseContext havingClause() throws RecognitionException {
38756 HavingClauseContext _localctx = new HavingClauseContext(_ctx, getState());
38757 enterRule(_localctx, 750, RULE_havingClause);
38758 try {
38759 enterOuterAlt(_localctx, 1);
38760 {
38761 setState(5372);
38762 match(HAVING);
38763 setState(5373);
38764 expr(0);
38765 }
38766 }
38767 catch (RecognitionException re) {
38768 _localctx.exception = re;
38769 _errHandler.reportError(this, re);
38770 _errHandler.recover(this, re);
38771 }
38772 finally {
38773 exitRule();
38774 }
38775 return _localctx;
38776 }
38777
38778 public static class SubqueryContext extends ParserRuleContext {
38779 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
38780 public AggregationClauseContext aggregationClause() {
38781 return getRuleContext(AggregationClauseContext.class,0);
38782 }
38783 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
38784 public SubqueryContext(ParserRuleContext parent, int invokingState) {
38785 super(parent, invokingState);
38786 }
38787 @Override public int getRuleIndex() { return RULE_subquery; }
38788 @Override
38789 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38790 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSubquery(this);
38791 else return visitor.visitChildren(this);
38792 }
38793 }
38794
38795 public final SubqueryContext subquery() throws RecognitionException {
38796 SubqueryContext _localctx = new SubqueryContext(_ctx, getState());
38797 enterRule(_localctx, 752, RULE_subquery);
38798 try {
38799 enterOuterAlt(_localctx, 1);
38800 {
38801 setState(5375);
38802 match(LP_);
38803 setState(5376);
38804 aggregationClause();
38805 setState(5377);
38806 match(RP_);
38807 }
38808 }
38809 catch (RecognitionException re) {
38810 _localctx.exception = re;
38811 _errHandler.reportError(this, re);
38812 _errHandler.recover(this, re);
38813 }
38814 finally {
38815 exitRule();
38816 }
38817 return _localctx;
38818 }
38819
38820 public static class WithClauseContext extends ParserRuleContext {
38821 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
38822 public CteClauseSetContext cteClauseSet() {
38823 return getRuleContext(CteClauseSetContext.class,0);
38824 }
38825 public WithClauseContext(ParserRuleContext parent, int invokingState) {
38826 super(parent, invokingState);
38827 }
38828 @Override public int getRuleIndex() { return RULE_withClause; }
38829 @Override
38830 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38831 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithClause(this);
38832 else return visitor.visitChildren(this);
38833 }
38834 }
38835
38836 public final WithClauseContext withClause() throws RecognitionException {
38837 WithClauseContext _localctx = new WithClauseContext(_ctx, getState());
38838 enterRule(_localctx, 754, RULE_withClause);
38839 try {
38840 enterOuterAlt(_localctx, 1);
38841 {
38842 setState(5379);
38843 match(WITH);
38844 setState(5380);
38845 cteClauseSet();
38846 }
38847 }
38848 catch (RecognitionException re) {
38849 _localctx.exception = re;
38850 _errHandler.reportError(this, re);
38851 _errHandler.recover(this, re);
38852 }
38853 finally {
38854 exitRule();
38855 }
38856 return _localctx;
38857 }
38858
38859 public static class CteClauseSetContext extends ParserRuleContext {
38860 public List<CteClauseContext> cteClause() {
38861 return getRuleContexts(CteClauseContext.class);
38862 }
38863 public CteClauseContext cteClause(int i) {
38864 return getRuleContext(CteClauseContext.class,i);
38865 }
38866 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38867 public TerminalNode COMMA_(int i) {
38868 return getToken(SQLServerStatementParser.COMMA_, i);
38869 }
38870 public CteClauseSetContext(ParserRuleContext parent, int invokingState) {
38871 super(parent, invokingState);
38872 }
38873 @Override public int getRuleIndex() { return RULE_cteClauseSet; }
38874 @Override
38875 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38876 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClauseSet(this);
38877 else return visitor.visitChildren(this);
38878 }
38879 }
38880
38881 public final CteClauseSetContext cteClauseSet() throws RecognitionException {
38882 CteClauseSetContext _localctx = new CteClauseSetContext(_ctx, getState());
38883 enterRule(_localctx, 756, RULE_cteClauseSet);
38884 int _la;
38885 try {
38886 enterOuterAlt(_localctx, 1);
38887 {
38888 setState(5382);
38889 cteClause();
38890 setState(5387);
38891 _errHandler.sync(this);
38892 _la = _input.LA(1);
38893 while (_la==COMMA_) {
38894 {
38895 {
38896 setState(5383);
38897 match(COMMA_);
38898 setState(5384);
38899 cteClause();
38900 }
38901 }
38902 setState(5389);
38903 _errHandler.sync(this);
38904 _la = _input.LA(1);
38905 }
38906 }
38907 }
38908 catch (RecognitionException re) {
38909 _localctx.exception = re;
38910 _errHandler.reportError(this, re);
38911 _errHandler.recover(this, re);
38912 }
38913 finally {
38914 exitRule();
38915 }
38916 return _localctx;
38917 }
38918
38919 public static class CteClauseContext extends ParserRuleContext {
38920 public IdentifierContext identifier() {
38921 return getRuleContext(IdentifierContext.class,0);
38922 }
38923 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
38924 public SubqueryContext subquery() {
38925 return getRuleContext(SubqueryContext.class,0);
38926 }
38927 public ColumnNamesContext columnNames() {
38928 return getRuleContext(ColumnNamesContext.class,0);
38929 }
38930 public CteClauseContext(ParserRuleContext parent, int invokingState) {
38931 super(parent, invokingState);
38932 }
38933 @Override public int getRuleIndex() { return RULE_cteClause; }
38934 @Override
38935 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38936 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClause(this);
38937 else return visitor.visitChildren(this);
38938 }
38939 }
38940
38941 public final CteClauseContext cteClause() throws RecognitionException {
38942 CteClauseContext _localctx = new CteClauseContext(_ctx, getState());
38943 enterRule(_localctx, 758, RULE_cteClause);
38944 int _la;
38945 try {
38946 enterOuterAlt(_localctx, 1);
38947 {
38948 setState(5390);
38949 identifier();
38950 setState(5392);
38951 _errHandler.sync(this);
38952 _la = _input.LA(1);
38953 if (_la==LP_) {
38954 {
38955 setState(5391);
38956 columnNames();
38957 }
38958 }
38959
38960 setState(5394);
38961 match(AS);
38962 setState(5395);
38963 subquery();
38964 }
38965 }
38966 catch (RecognitionException re) {
38967 _localctx.exception = re;
38968 _errHandler.reportError(this, re);
38969 _errHandler.recover(this, re);
38970 }
38971 finally {
38972 exitRule();
38973 }
38974 return _localctx;
38975 }
38976
38977 public static class OutputClauseContext extends ParserRuleContext {
38978 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
38979 public OutputWithColumnsContext outputWithColumns() {
38980 return getRuleContext(OutputWithColumnsContext.class,0);
38981 }
38982 public OutputWithAateriskContext outputWithAaterisk() {
38983 return getRuleContext(OutputWithAateriskContext.class,0);
38984 }
38985 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
38986 public OutputTableNameContext outputTableName() {
38987 return getRuleContext(OutputTableNameContext.class,0);
38988 }
38989 public ColumnNamesContext columnNames() {
38990 return getRuleContext(ColumnNamesContext.class,0);
38991 }
38992 public OutputClauseContext(ParserRuleContext parent, int invokingState) {
38993 super(parent, invokingState);
38994 }
38995 @Override public int getRuleIndex() { return RULE_outputClause; }
38996 @Override
38997 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38998 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputClause(this);
38999 else return visitor.visitChildren(this);
39000 }
39001 }
39002
39003 public final OutputClauseContext outputClause() throws RecognitionException {
39004 OutputClauseContext _localctx = new OutputClauseContext(_ctx, getState());
39005 enterRule(_localctx, 760, RULE_outputClause);
39006 int _la;
39007 try {
39008 enterOuterAlt(_localctx, 1);
39009 {
39010 setState(5397);
39011 match(OUTPUT);
39012 setState(5400);
39013 _errHandler.sync(this);
39014 switch ( getInterpreter().adaptivePredict(_input,622,_ctx) ) {
39015 case 1:
39016 {
39017 setState(5398);
39018 outputWithColumns();
39019 }
39020 break;
39021 case 2:
39022 {
39023 setState(5399);
39024 outputWithAaterisk();
39025 }
39026 break;
39027 }
39028 setState(5407);
39029 _errHandler.sync(this);
39030 _la = _input.LA(1);
39031 if (_la==INTO) {
39032 {
39033 setState(5402);
39034 match(INTO);
39035 setState(5403);
39036 outputTableName();
39037 setState(5405);
39038 _errHandler.sync(this);
39039 _la = _input.LA(1);
39040 if (_la==LP_) {
39041 {
39042 setState(5404);
39043 columnNames();
39044 }
39045 }
39046
39047 }
39048 }
39049
39050 }
39051 }
39052 catch (RecognitionException re) {
39053 _localctx.exception = re;
39054 _errHandler.reportError(this, re);
39055 _errHandler.recover(this, re);
39056 }
39057 finally {
39058 exitRule();
39059 }
39060 return _localctx;
39061 }
39062
39063 public static class OutputWithColumnsContext extends ParserRuleContext {
39064 public List<OutputWithColumnContext> outputWithColumn() {
39065 return getRuleContexts(OutputWithColumnContext.class);
39066 }
39067 public OutputWithColumnContext outputWithColumn(int i) {
39068 return getRuleContext(OutputWithColumnContext.class,i);
39069 }
39070 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39071 public TerminalNode COMMA_(int i) {
39072 return getToken(SQLServerStatementParser.COMMA_, i);
39073 }
39074 public OutputWithColumnsContext(ParserRuleContext parent, int invokingState) {
39075 super(parent, invokingState);
39076 }
39077 @Override public int getRuleIndex() { return RULE_outputWithColumns; }
39078 @Override
39079 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39080 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumns(this);
39081 else return visitor.visitChildren(this);
39082 }
39083 }
39084
39085 public final OutputWithColumnsContext outputWithColumns() throws RecognitionException {
39086 OutputWithColumnsContext _localctx = new OutputWithColumnsContext(_ctx, getState());
39087 enterRule(_localctx, 762, RULE_outputWithColumns);
39088 int _la;
39089 try {
39090 enterOuterAlt(_localctx, 1);
39091 {
39092 setState(5409);
39093 outputWithColumn();
39094 setState(5414);
39095 _errHandler.sync(this);
39096 _la = _input.LA(1);
39097 while (_la==COMMA_) {
39098 {
39099 {
39100 setState(5410);
39101 match(COMMA_);
39102 setState(5411);
39103 outputWithColumn();
39104 }
39105 }
39106 setState(5416);
39107 _errHandler.sync(this);
39108 _la = _input.LA(1);
39109 }
39110 }
39111 }
39112 catch (RecognitionException re) {
39113 _localctx.exception = re;
39114 _errHandler.reportError(this, re);
39115 _errHandler.recover(this, re);
39116 }
39117 finally {
39118 exitRule();
39119 }
39120 return _localctx;
39121 }
39122
39123 public static class OutputWithColumnContext extends ParserRuleContext {
39124 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
39125 public NameContext name() {
39126 return getRuleContext(NameContext.class,0);
39127 }
39128 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
39129 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
39130 public AliasContext alias() {
39131 return getRuleContext(AliasContext.class,0);
39132 }
39133 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
39134 public OutputWithColumnContext(ParserRuleContext parent, int invokingState) {
39135 super(parent, invokingState);
39136 }
39137 @Override public int getRuleIndex() { return RULE_outputWithColumn; }
39138 @Override
39139 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39140 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumn(this);
39141 else return visitor.visitChildren(this);
39142 }
39143 }
39144
39145 public final OutputWithColumnContext outputWithColumn() throws RecognitionException {
39146 OutputWithColumnContext _localctx = new OutputWithColumnContext(_ctx, getState());
39147 enterRule(_localctx, 764, RULE_outputWithColumn);
39148 int _la;
39149 try {
39150 enterOuterAlt(_localctx, 1);
39151 {
39152 setState(5417);
39153 _la = _input.LA(1);
39154 if ( !(_la==INSERTED || _la==DELETED) ) {
39155 _errHandler.recoverInline(this);
39156 }
39157 else {
39158 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39159 _errHandler.reportMatch(this);
39160 consume();
39161 }
39162 setState(5418);
39163 match(DOT_);
39164 setState(5419);
39165 name();
39166 setState(5424);
39167 _errHandler.sync(this);
39168 switch ( getInterpreter().adaptivePredict(_input,627,_ctx) ) {
39169 case 1:
39170 {
39171 setState(5421);
39172 _errHandler.sync(this);
39173 _la = _input.LA(1);
39174 if (_la==AS) {
39175 {
39176 setState(5420);
39177 match(AS);
39178 }
39179 }
39180
39181 setState(5423);
39182 alias();
39183 }
39184 break;
39185 }
39186 }
39187 }
39188 catch (RecognitionException re) {
39189 _localctx.exception = re;
39190 _errHandler.reportError(this, re);
39191 _errHandler.recover(this, re);
39192 }
39193 finally {
39194 exitRule();
39195 }
39196 return _localctx;
39197 }
39198
39199 public static class OutputWithAateriskContext extends ParserRuleContext {
39200 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
39201 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
39202 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
39203 public OutputWithAateriskContext(ParserRuleContext parent, int invokingState) {
39204 super(parent, invokingState);
39205 }
39206 @Override public int getRuleIndex() { return RULE_outputWithAaterisk; }
39207 @Override
39208 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39209 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithAaterisk(this);
39210 else return visitor.visitChildren(this);
39211 }
39212 }
39213
39214 public final OutputWithAateriskContext outputWithAaterisk() throws RecognitionException {
39215 OutputWithAateriskContext _localctx = new OutputWithAateriskContext(_ctx, getState());
39216 enterRule(_localctx, 766, RULE_outputWithAaterisk);
39217 int _la;
39218 try {
39219 enterOuterAlt(_localctx, 1);
39220 {
39221 setState(5426);
39222 _la = _input.LA(1);
39223 if ( !(_la==INSERTED || _la==DELETED) ) {
39224 _errHandler.recoverInline(this);
39225 }
39226 else {
39227 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39228 _errHandler.reportMatch(this);
39229 consume();
39230 }
39231 setState(5427);
39232 match(DOT_ASTERISK_);
39233 }
39234 }
39235 catch (RecognitionException re) {
39236 _localctx.exception = re;
39237 _errHandler.reportError(this, re);
39238 _errHandler.recover(this, re);
39239 }
39240 finally {
39241 exitRule();
39242 }
39243 return _localctx;
39244 }
39245
39246 public static class OutputTableNameContext extends ParserRuleContext {
39247 public TerminalNode AT_() { return getToken(SQLServerStatementParser.AT_, 0); }
39248 public NameContext name() {
39249 return getRuleContext(NameContext.class,0);
39250 }
39251 public TableNameContext tableName() {
39252 return getRuleContext(TableNameContext.class,0);
39253 }
39254 public OutputTableNameContext(ParserRuleContext parent, int invokingState) {
39255 super(parent, invokingState);
39256 }
39257 @Override public int getRuleIndex() { return RULE_outputTableName; }
39258 @Override
39259 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39260 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputTableName(this);
39261 else return visitor.visitChildren(this);
39262 }
39263 }
39264
39265 public final OutputTableNameContext outputTableName() throws RecognitionException {
39266 OutputTableNameContext _localctx = new OutputTableNameContext(_ctx, getState());
39267 enterRule(_localctx, 768, RULE_outputTableName);
39268 try {
39269 setState(5432);
39270 _errHandler.sync(this);
39271 switch (_input.LA(1)) {
39272 case AT_:
39273 enterOuterAlt(_localctx, 1);
39274 {
39275 {
39276 setState(5429);
39277 match(AT_);
39278 setState(5430);
39279 name();
39280 }
39281 }
39282 break;
39283 case TRUNCATE:
39284 case SCHEMA:
39285 case COLUMNS:
39286 case PRECISION:
39287 case FUNCTION:
39288 case TRIGGER:
39289 case CAST:
39290 case SUBSTRING:
39291 case OFF:
39292 case GROUP:
39293 case LIMIT:
39294 case OFFSET:
39295 case SAVEPOINT:
39296 case BOOLEAN:
39297 case ARRAY:
39298 case DATE:
39299 case LOCALTIME:
39300 case LOCALTIMESTAMP:
39301 case QUARTER:
39302 case MONTH:
39303 case WEEK:
39304 case DAY:
39305 case SECOND:
39306 case MICROSECOND:
39307 case MAX:
39308 case MIN:
39309 case SUM:
39310 case COUNT:
39311 case AVG:
39312 case ENABLE:
39313 case DISABLE:
39314 case INSTANCE:
39315 case DO:
39316 case DEFINER:
39317 case SQL:
39318 case CASCADED:
39319 case LOCAL:
39320 case NEXT:
39321 case NAME:
39322 case INTEGER:
39323 case TYPE:
39324 case TEXT:
39325 case VIEWS:
39326 case READ_ONLY:
39327 case DATABASE:
39328 case RETURNS:
39329 case DATEPART:
39330 case PASSWORD:
39331 case BINARY:
39332 case HIDDEN_:
39333 case MOD:
39334 case PARTITION:
39335 case PARTITIONS:
39336 case TOP:
39337 case ROW:
39338 case ROWS:
39339 case XOR:
39340 case ALWAYS:
39341 case ROLE:
39342 case START:
39343 case ALGORITHM:
39344 case AUTO:
39345 case BLOCKERS:
39346 case CLUSTERED:
39347 case NONCLUSTERED:
39348 case COLUMNSTORE:
39349 case CONTENT:
39350 case YEARS:
39351 case MONTHS:
39352 case WEEKS:
39353 case DAYS:
39354 case MINUTES:
39355 case DENY:
39356 case DETERMINISTIC:
39357 case DISTRIBUTION:
39358 case DOCUMENT:
39359 case DURABILITY:
39360 case ENCRYPTED:
39361 case FILESTREAM:
39362 case FILETABLE:
39363 case FILLFACTOR:
39364 case FOLLOWING:
39365 case HASH:
39366 case HEAP:
39367 case INBOUND:
39368 case OUTBOUND:
39369 case UNBOUNDED:
39370 case INFINITE:
39371 case LOGIN:
39372 case MASKED:
39373 case MAXDOP:
39374 case MOVE:
39375 case NOCHECK:
39376 case OBJECT:
39377 case ONLINE:
39378 case OVER:
39379 case PAGE:
39380 case PAUSED:
39381 case PERIOD:
39382 case PERSISTED:
39383 case PRECEDING:
39384 case RANDOMIZED:
39385 case RANGE:
39386 case REBUILD:
39387 case REPLICATE:
39388 case REPLICATION:
39389 case RESUMABLE:
39390 case ROWGUIDCOL:
39391 case SAVE:
39392 case SELF:
39393 case SPARSE:
39394 case SWITCH:
39395 case TRAN:
39396 case TRANCOUNT:
39397 case CONTROL:
39398 case CONCAT:
39399 case TAKE:
39400 case OWNERSHIP:
39401 case DEFINITION:
39402 case APPLICATION:
39403 case ASSEMBLY:
39404 case SYMMETRIC:
39405 case ASYMMETRIC:
39406 case SERVER:
39407 case RECEIVE:
39408 case CHANGE:
39409 case TRACE:
39410 case TRACKING:
39411 case RESOURCES:
39412 case SETTINGS:
39413 case STATE:
39414 case AVAILABILITY:
39415 case CREDENTIAL:
39416 case ENDPOINT:
39417 case EVENT:
39418 case NOTIFICATION:
39419 case LINKED:
39420 case AUDIT:
39421 case DDL:
39422 case XML:
39423 case IMPERSONATE:
39424 case SECURABLES:
39425 case AUTHENTICATE:
39426 case EXTERNAL:
39427 case ACCESS:
39428 case ADMINISTER:
39429 case BULK:
39430 case OPERATIONS:
39431 case UNSAFE:
39432 case SHUTDOWN:
39433 case SCOPED:
39434 case CONFIGURATION:
39435 case DATASPACE:
39436 case SERVICE:
39437 case CERTIFICATE:
39438 case CONTRACT:
39439 case ENCRYPTION:
39440 case MASTER:
39441 case DATA:
39442 case SOURCE:
39443 case FILE:
39444 case FORMAT:
39445 case LIBRARY:
39446 case FULLTEXT:
39447 case MASK:
39448 case UNMASK:
39449 case MESSAGE:
39450 case REMOTE:
39451 case BINDING:
39452 case ROUTE:
39453 case SECURITY:
39454 case POLICY:
39455 case AGGREGATE:
39456 case QUEUE:
39457 case RULE:
39458 case SYNONYM:
39459 case COLLECTION:
39460 case SCRIPT:
39461 case KILL:
39462 case BACKUP:
39463 case LOG:
39464 case SHOWPLAN:
39465 case SUBSCRIBE:
39466 case QUERY:
39467 case NOTIFICATIONS:
39468 case CHECKPOINT:
39469 case SEQUENCE:
39470 case ABORT_AFTER_WAIT:
39471 case ALLOW_PAGE_LOCKS:
39472 case ALLOW_ROW_LOCKS:
39473 case ALL_SPARSE_COLUMNS:
39474 case BUCKET_COUNT:
39475 case COLUMNSTORE_ARCHIVE:
39476 case COLUMN_ENCRYPTION_KEY:
39477 case COLUMN_SET:
39478 case COMPRESSION_DELAY:
39479 case DATABASE_DEAULT:
39480 case DATA_COMPRESSION:
39481 case DATA_CONSISTENCY_CHECK:
39482 case ENCRYPTION_TYPE:
39483 case SYSTEM_TIME:
39484 case SYSTEM_VERSIONING:
39485 case TEXTIMAGE_ON:
39486 case WAIT_AT_LOW_PRIORITY:
39487 case STATISTICS_INCREMENTAL:
39488 case STATISTICS_NORECOMPUTE:
39489 case ROUND_ROBIN:
39490 case SCHEMA_AND_DATA:
39491 case SCHEMA_ONLY:
39492 case SORT_IN_TEMPDB:
39493 case IGNORE_DUP_KEY:
39494 case IMPLICIT_TRANSACTIONS:
39495 case MAX_DURATION:
39496 case MEMORY_OPTIMIZED:
39497 case MIGRATION_STATE:
39498 case PAD_INDEX:
39499 case REMOTE_DATA_ARCHIVE:
39500 case FILESTREAM_ON:
39501 case FILETABLE_COLLATE_FILENAME:
39502 case FILETABLE_DIRECTORY:
39503 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
39504 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
39505 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
39506 case FILTER_PREDICATE:
39507 case HISTORY_RETENTION_PERIOD:
39508 case HISTORY_TABLE:
39509 case LOCK_ESCALATION:
39510 case DROP_EXISTING:
39511 case ROW_NUMBER:
39512 case FIRST:
39513 case DATETIME2:
39514 case OUTPUT:
39515 case INSERTED:
39516 case DELETED:
39517 case FILENAME:
39518 case SIZE:
39519 case MAXSIZE:
39520 case FILEGROWTH:
39521 case UNLIMITED:
39522 case KB:
39523 case MB:
39524 case GB:
39525 case TB:
39526 case CONTAINS:
39527 case MEMORY_OPTIMIZED_DATA:
39528 case FILEGROUP:
39529 case NON_TRANSACTED_ACCESS:
39530 case DB_CHAINING:
39531 case TRUSTWORTHY:
39532 case FORWARD_ONLY:
39533 case KEYSET:
39534 case FAST_FORWARD:
39535 case SCROLL_LOCKS:
39536 case OPTIMISTIC:
39537 case TYPE_WARNING:
39538 case SCHEMABINDING:
39539 case CALLER:
39540 case OWNER:
39541 case SNAPSHOT:
39542 case REPEATABLE:
39543 case SERIALIZABLE:
39544 case NATIVE_COMPILATION:
39545 case VIEW_METADATA:
39546 case INSTEAD:
39547 case APPEND:
39548 case INCREMENT:
39549 case CACHE:
39550 case MINVALUE:
39551 case MAXVALUE:
39552 case RESTART:
39553 case LOB_COMPACTION:
39554 case COMPRESS_ALL_ROW_GROUPS:
39555 case REORGANIZE:
39556 case RESUME:
39557 case PAUSE:
39558 case ABORT:
39559 case ACCELERATED_DATABASE_RECOVERY:
39560 case PERSISTENT_VERSION_STORE_FILEGROUP:
39561 case IMMEDIATE:
39562 case NO_WAIT:
39563 case TARGET_RECOVERY_TIME:
39564 case SECONDS:
39565 case HONOR_BROKER_PRIORITY:
39566 case ERROR_BROKER_CONVERSATIONS:
39567 case NEW_BROKER:
39568 case DISABLE_BROKER:
39569 case ENABLE_BROKER:
39570 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
39571 case READ_COMMITTED_SNAPSHOT:
39572 case ALLOW_SNAPSHOT_ISOLATION:
39573 case RECURSIVE_TRIGGERS:
39574 case QUOTED_IDENTIFIER:
39575 case NUMERIC_ROUNDABORT:
39576 case CONCAT_NULL_YIELDS_NULL:
39577 case COMPATIBILITY_LEVEL:
39578 case ARITHABORT:
39579 case ANSI_WARNINGS:
39580 case ANSI_PADDING:
39581 case ANSI_NULLS:
39582 case ANSI_NULL_DEFAULT:
39583 case PAGE_VERIFY:
39584 case CHECKSUM:
39585 case TORN_PAGE_DETECTION:
39586 case BULK_LOGGED:
39587 case RECOVERY:
39588 case TOTAL_EXECUTION_CPU_TIME_MS:
39589 case TOTAL_COMPILE_CPU_TIME_MS:
39590 case STALE_CAPTURE_POLICY_THRESHOLD:
39591 case EXECUTION_COUNT:
39592 case QUERY_CAPTURE_POLICY:
39593 case WAIT_STATS_CAPTURE_MODE:
39594 case MAX_PLANS_PER_QUERY:
39595 case QUERY_CAPTURE_MODE:
39596 case SIZE_BASED_CLEANUP_MODE:
39597 case INTERVAL_LENGTH_MINUTES:
39598 case MAX_STORAGE_SIZE_MB:
39599 case DATA_FLUSH_INTERVAL_SECONDS:
39600 case CLEANUP_POLICY:
39601 case CUSTOM:
39602 case STALE_QUERY_THRESHOLD_DAYS:
39603 case OPERATION_MODE:
39604 case QUERY_STORE:
39605 case CURSOR_DEFAULT:
39606 case GLOBAL:
39607 case CURSOR_CLOSE_ON_COMMIT:
39608 case HOURS:
39609 case CHANGE_RETENTION:
39610 case AUTO_CLEANUP:
39611 case CHANGE_TRACKING:
39612 case AUTOMATIC_TUNING:
39613 case FORCE_LAST_GOOD_PLAN:
39614 case AUTO_UPDATE_STATISTICS_ASYNC:
39615 case AUTO_UPDATE_STATISTICS:
39616 case AUTO_SHRINK:
39617 case AUTO_CREATE_STATISTICS:
39618 case INCREMENTAL:
39619 case AUTO_CLOSE:
39620 case DATA_RETENTION:
39621 case TEMPORAL_HISTORY_RETENTION:
39622 case EDITION:
39623 case MIXED_PAGE_ALLOCATION:
39624 case DISABLED:
39625 case ALLOWED:
39626 case HADR:
39627 case MULTI_USER:
39628 case RESTRICTED_USER:
39629 case SINGLE_USER:
39630 case OFFLINE:
39631 case EMERGENCY:
39632 case SUSPEND:
39633 case DATE_CORRELATION_OPTIMIZATION:
39634 case ELASTIC_POOL:
39635 case SERVICE_OBJECTIVE:
39636 case DATABASE_NAME:
39637 case ALLOW_CONNECTIONS:
39638 case GEO:
39639 case NAMED:
39640 case DATEFIRST:
39641 case BACKUP_STORAGE_REDUNDANCY:
39642 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
39643 case SECONDARY:
39644 case FAILOVER:
39645 case DEFAULT_FULLTEXT_LANGUAGE:
39646 case DEFAULT_LANGUAGE:
39647 case INLINE:
39648 case NESTED_TRIGGERS:
39649 case TRANSFORM_NOISE_WORDS:
39650 case TWO_DIGIT_YEAR_CUTOFF:
39651 case PERSISTENT_LOG_BUFFER:
39652 case DIRECTORY_NAME:
39653 case DATEFORMAT:
39654 case DELAYED_DURABILITY:
39655 case AUTHORIZATION:
39656 case TRANSFER:
39657 case PROVIDER:
39658 case SEARCH:
39659 case MEMBER:
39660 case IDENTIFIER_:
39661 case DELIMITED_IDENTIFIER_:
39662 enterOuterAlt(_localctx, 2);
39663 {
39664 setState(5431);
39665 tableName();
39666 }
39667 break;
39668 default:
39669 throw new NoViableAltException(this);
39670 }
39671 }
39672 catch (RecognitionException re) {
39673 _localctx.exception = re;
39674 _errHandler.reportError(this, re);
39675 _errHandler.recover(this, re);
39676 }
39677 finally {
39678 exitRule();
39679 }
39680 return _localctx;
39681 }
39682
39683 public static class QueryHintContext extends ParserRuleContext {
39684 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
39685 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
39686 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
39687 public TerminalNode UNION() { return getToken(SQLServerStatementParser.UNION, 0); }
39688 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
39689 public TerminalNode MERGE() { return getToken(SQLServerStatementParser.MERGE, 0); }
39690 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
39691 public TerminalNode LOOP() { return getToken(SQLServerStatementParser.LOOP, 0); }
39692 public TerminalNode EXPAND() { return getToken(SQLServerStatementParser.EXPAND, 0); }
39693 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
39694 public TerminalNode FAST() { return getToken(SQLServerStatementParser.FAST, 0); }
39695 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
39696 public TerminalNode FORCE() { return getToken(SQLServerStatementParser.FORCE, 0); }
39697 public TerminalNode EXTERNALPUSHDOWN() { return getToken(SQLServerStatementParser.EXTERNALPUSHDOWN, 0); }
39698 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
39699 public TerminalNode SCALEOUTEXECUTION() { return getToken(SQLServerStatementParser.SCALEOUTEXECUTION, 0); }
39700 public TerminalNode IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX() { return getToken(SQLServerStatementParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX, 0); }
39701 public TerminalNode KEEP() { return getToken(SQLServerStatementParser.KEEP, 0); }
39702 public TerminalNode PLAN() { return getToken(SQLServerStatementParser.PLAN, 0); }
39703 public TerminalNode KEEPFIXED() { return getToken(SQLServerStatementParser.KEEPFIXED, 0); }
39704 public TerminalNode MAX_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MAX_GRANT_PERCENT, 0); }
39705 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
39706 public TerminalNode EQ_(int i) {
39707 return getToken(SQLServerStatementParser.EQ_, i);
39708 }
39709 public TerminalNode DECIMAL_NUM_() { return getToken(SQLServerStatementParser.DECIMAL_NUM_, 0); }
39710 public TerminalNode MIN_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MIN_GRANT_PERCENT, 0); }
39711 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
39712 public TerminalNode MAXRECURSION() { return getToken(SQLServerStatementParser.MAXRECURSION, 0); }
39713 public TerminalNode NO_PERFORMANCE_SPOOL() { return getToken(SQLServerStatementParser.NO_PERFORMANCE_SPOOL, 0); }
39714 public TerminalNode OPTIMIZE() { return getToken(SQLServerStatementParser.OPTIMIZE, 0); }
39715 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
39716 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
39717 public TerminalNode AT_() { return getToken(SQLServerStatementParser.AT_, 0); }
39718 public NameContext name() {
39719 return getRuleContext(NameContext.class,0);
39720 }
39721 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
39722 public List<TerminalNode> UNKNOWN() { return getTokens(SQLServerStatementParser.UNKNOWN); }
39723 public TerminalNode UNKNOWN(int i) {
39724 return getToken(SQLServerStatementParser.UNKNOWN, i);
39725 }
39726 public List<IdentifierContext> identifier() {
39727 return getRuleContexts(IdentifierContext.class);
39728 }
39729 public IdentifierContext identifier(int i) {
39730 return getRuleContext(IdentifierContext.class,i);
39731 }
39732 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
39733 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
39734 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
39735 public TerminalNode QUERYTRACEON() { return getToken(SQLServerStatementParser.QUERYTRACEON, 0); }
39736 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
39737 public TerminalNode ROBUST() { return getToken(SQLServerStatementParser.ROBUST, 0); }
39738 public TerminalNode USE() { return getToken(SQLServerStatementParser.USE, 0); }
39739 public TerminalNode HINT() { return getToken(SQLServerStatementParser.HINT, 0); }
39740 public List<UseHitNameContext> useHitName() {
39741 return getRuleContexts(UseHitNameContext.class);
39742 }
39743 public UseHitNameContext useHitName(int i) {
39744 return getRuleContext(UseHitNameContext.class,i);
39745 }
39746 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
39747 public QueryHintContext(ParserRuleContext parent, int invokingState) {
39748 super(parent, invokingState);
39749 }
39750 @Override public int getRuleIndex() { return RULE_queryHint; }
39751 @Override
39752 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39753 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryHint(this);
39754 else return visitor.visitChildren(this);
39755 }
39756 }
39757
39758 public final QueryHintContext queryHint() throws RecognitionException {
39759 QueryHintContext _localctx = new QueryHintContext(_ctx, getState());
39760 enterRule(_localctx, 770, RULE_queryHint);
39761 int _la;
39762 try {
39763 setState(5504);
39764 _errHandler.sync(this);
39765 switch ( getInterpreter().adaptivePredict(_input,632,_ctx) ) {
39766 case 1:
39767 enterOuterAlt(_localctx, 1);
39768 {
39769 setState(5434);
39770 _la = _input.LA(1);
39771 if ( !(_la==ORDER || _la==HASH) ) {
39772 _errHandler.recoverInline(this);
39773 }
39774 else {
39775 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39776 _errHandler.reportMatch(this);
39777 consume();
39778 }
39779 setState(5435);
39780 match(GROUP);
39781 }
39782 break;
39783 case 2:
39784 enterOuterAlt(_localctx, 2);
39785 {
39786 setState(5436);
39787 _la = _input.LA(1);
39788 if ( !(_la==MERGE || _la==HASH || _la==CONCAT) ) {
39789 _errHandler.recoverInline(this);
39790 }
39791 else {
39792 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39793 _errHandler.reportMatch(this);
39794 consume();
39795 }
39796 setState(5437);
39797 match(UNION);
39798 }
39799 break;
39800 case 3:
39801 enterOuterAlt(_localctx, 3);
39802 {
39803 setState(5438);
39804 _la = _input.LA(1);
39805 if ( !(_la==MERGE || _la==LOOP || _la==HASH) ) {
39806 _errHandler.recoverInline(this);
39807 }
39808 else {
39809 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39810 _errHandler.reportMatch(this);
39811 consume();
39812 }
39813 setState(5439);
39814 match(JOIN);
39815 }
39816 break;
39817 case 4:
39818 enterOuterAlt(_localctx, 4);
39819 {
39820 setState(5440);
39821 match(EXPAND);
39822 setState(5441);
39823 match(VIEWS);
39824 }
39825 break;
39826 case 5:
39827 enterOuterAlt(_localctx, 5);
39828 {
39829 setState(5442);
39830 match(FAST);
39831 setState(5443);
39832 match(INT_NUM_);
39833 }
39834 break;
39835 case 6:
39836 enterOuterAlt(_localctx, 6);
39837 {
39838 setState(5444);
39839 match(FORCE);
39840 setState(5445);
39841 match(ORDER);
39842 }
39843 break;
39844 case 7:
39845 enterOuterAlt(_localctx, 7);
39846 {
39847 setState(5446);
39848 _la = _input.LA(1);
39849 if ( !(_la==DISABLE || _la==FORCE) ) {
39850 _errHandler.recoverInline(this);
39851 }
39852 else {
39853 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39854 _errHandler.reportMatch(this);
39855 consume();
39856 }
39857 setState(5447);
39858 match(EXTERNALPUSHDOWN);
39859 }
39860 break;
39861 case 8:
39862 enterOuterAlt(_localctx, 8);
39863 {
39864 setState(5448);
39865 _la = _input.LA(1);
39866 if ( !(_la==DISABLE || _la==FORCE) ) {
39867 _errHandler.recoverInline(this);
39868 }
39869 else {
39870 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39871 _errHandler.reportMatch(this);
39872 consume();
39873 }
39874 setState(5449);
39875 match(SCALEOUTEXECUTION);
39876 }
39877 break;
39878 case 9:
39879 enterOuterAlt(_localctx, 9);
39880 {
39881 setState(5450);
39882 match(IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX);
39883 }
39884 break;
39885 case 10:
39886 enterOuterAlt(_localctx, 10);
39887 {
39888 setState(5451);
39889 match(KEEP);
39890 setState(5452);
39891 match(PLAN);
39892 }
39893 break;
39894 case 11:
39895 enterOuterAlt(_localctx, 11);
39896 {
39897 setState(5453);
39898 match(KEEPFIXED);
39899 setState(5454);
39900 match(PLAN);
39901 }
39902 break;
39903 case 12:
39904 enterOuterAlt(_localctx, 12);
39905 {
39906 setState(5455);
39907 match(MAX_GRANT_PERCENT);
39908 setState(5456);
39909 match(EQ_);
39910 setState(5457);
39911 match(DECIMAL_NUM_);
39912 }
39913 break;
39914 case 13:
39915 enterOuterAlt(_localctx, 13);
39916 {
39917 setState(5458);
39918 match(MIN_GRANT_PERCENT);
39919 setState(5459);
39920 match(EQ_);
39921 setState(5460);
39922 match(DECIMAL_NUM_);
39923 }
39924 break;
39925 case 14:
39926 enterOuterAlt(_localctx, 14);
39927 {
39928 setState(5461);
39929 match(MAXDOP);
39930 setState(5462);
39931 match(INT_NUM_);
39932 }
39933 break;
39934 case 15:
39935 enterOuterAlt(_localctx, 15);
39936 {
39937 setState(5463);
39938 match(MAXRECURSION);
39939 setState(5464);
39940 match(INT_NUM_);
39941 }
39942 break;
39943 case 16:
39944 enterOuterAlt(_localctx, 16);
39945 {
39946 setState(5465);
39947 match(NO_PERFORMANCE_SPOOL);
39948 }
39949 break;
39950 case 17:
39951 enterOuterAlt(_localctx, 17);
39952 {
39953 setState(5466);
39954 match(OPTIMIZE);
39955 setState(5467);
39956 match(FOR);
39957 setState(5468);
39958 match(LP_);
39959 setState(5469);
39960 match(AT_);
39961 setState(5470);
39962 name();
39963 setState(5476);
39964 _errHandler.sync(this);
39965 _la = _input.LA(1);
39966 while (_la==EQ_ || _la==UNKNOWN) {
39967 {
39968 setState(5474);
39969 _errHandler.sync(this);
39970 switch (_input.LA(1)) {
39971 case UNKNOWN:
39972 {
39973 setState(5471);
39974 match(UNKNOWN);
39975 }
39976 break;
39977 case EQ_:
39978 {
39979 setState(5472);
39980 match(EQ_);
39981 setState(5473);
39982 identifier();
39983 }
39984 break;
39985 default:
39986 throw new NoViableAltException(this);
39987 }
39988 }
39989 setState(5478);
39990 _errHandler.sync(this);
39991 _la = _input.LA(1);
39992 }
39993 setState(5479);
39994 match(RP_);
39995 }
39996 break;
39997 case 18:
39998 enterOuterAlt(_localctx, 18);
39999 {
40000 setState(5481);
40001 match(OPTIMIZE);
40002 setState(5482);
40003 match(FOR);
40004 setState(5483);
40005 match(UNKNOWN);
40006 }
40007 break;
40008 case 19:
40009 enterOuterAlt(_localctx, 19);
40010 {
40011 setState(5484);
40012 match(PARAMETERIZATION);
40013 setState(5485);
40014 _la = _input.LA(1);
40015 if ( !(_la==SIMPLE || _la==FORCED) ) {
40016 _errHandler.recoverInline(this);
40017 }
40018 else {
40019 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40020 _errHandler.reportMatch(this);
40021 consume();
40022 }
40023 }
40024 break;
40025 case 20:
40026 enterOuterAlt(_localctx, 20);
40027 {
40028 setState(5486);
40029 match(QUERYTRACEON);
40030 setState(5487);
40031 match(INT_NUM_);
40032 }
40033 break;
40034 case 21:
40035 enterOuterAlt(_localctx, 21);
40036 {
40037 setState(5488);
40038 match(RECOMPILE);
40039 }
40040 break;
40041 case 22:
40042 enterOuterAlt(_localctx, 22);
40043 {
40044 setState(5489);
40045 match(ROBUST);
40046 setState(5490);
40047 match(PLAN);
40048 }
40049 break;
40050 case 23:
40051 enterOuterAlt(_localctx, 23);
40052 {
40053 setState(5491);
40054 match(USE);
40055 setState(5492);
40056 match(HINT);
40057 setState(5493);
40058 match(LP_);
40059 setState(5497);
40060 _errHandler.sync(this);
40061 _la = _input.LA(1);
40062 while (_la==SQ_) {
40063 {
40064 {
40065 setState(5494);
40066 useHitName();
40067 }
40068 }
40069 setState(5499);
40070 _errHandler.sync(this);
40071 _la = _input.LA(1);
40072 }
40073 setState(5500);
40074 match(RP_);
40075 }
40076 break;
40077 case 24:
40078 enterOuterAlt(_localctx, 24);
40079 {
40080 setState(5501);
40081 match(USE);
40082 setState(5502);
40083 match(PLAN);
40084 setState(5503);
40085 match(NCHAR_TEXT);
40086 }
40087 break;
40088 }
40089 }
40090 catch (RecognitionException re) {
40091 _localctx.exception = re;
40092 _errHandler.reportError(this, re);
40093 _errHandler.recover(this, re);
40094 }
40095 finally {
40096 exitRule();
40097 }
40098 return _localctx;
40099 }
40100
40101 public static class UseHitNameContext extends ParserRuleContext {
40102 public List<TerminalNode> SQ_() { return getTokens(SQLServerStatementParser.SQ_); }
40103 public TerminalNode SQ_(int i) {
40104 return getToken(SQLServerStatementParser.SQ_, i);
40105 }
40106 public TerminalNode ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS() { return getToken(SQLServerStatementParser.ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS, 0); }
40107 public TerminalNode ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES() { return getToken(SQLServerStatementParser.ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES, 0); }
40108 public TerminalNode DISABLE_BATCH_MODE_ADAPTIVE_JOINS() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_ADAPTIVE_JOINS, 0); }
40109 public TerminalNode DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK, 0); }
40110 public TerminalNode DISABLE_DEFERRED_COMPILATION_TV() { return getToken(SQLServerStatementParser.DISABLE_DEFERRED_COMPILATION_TV, 0); }
40111 public TerminalNode DISABLE_INTERLEAVED_EXECUTION_TVF() { return getToken(SQLServerStatementParser.DISABLE_INTERLEAVED_EXECUTION_TVF, 0); }
40112 public TerminalNode DISABLE_OPTIMIZED_NESTED_LOOP() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZED_NESTED_LOOP, 0); }
40113 public TerminalNode DISABLE_OPTIMIZER_ROWGOAL() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZER_ROWGOAL, 0); }
40114 public TerminalNode DISABLE_PARAMETER_SNIFFING() { return getToken(SQLServerStatementParser.DISABLE_PARAMETER_SNIFFING, 0); }
40115 public TerminalNode DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK, 0); }
40116 public TerminalNode DISABLE_TSQL_SCALAR_UDF_INLINING() { return getToken(SQLServerStatementParser.DISABLE_TSQL_SCALAR_UDF_INLINING, 0); }
40117 public TerminalNode DISALLOW_BATCH_MODE() { return getToken(SQLServerStatementParser.DISALLOW_BATCH_MODE, 0); }
40118 public TerminalNode ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS() { return getToken(SQLServerStatementParser.ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS, 0); }
40119 public TerminalNode ENABLE_QUERY_OPTIMIZER_HOTFIXES() { return getToken(SQLServerStatementParser.ENABLE_QUERY_OPTIMIZER_HOTFIXES, 0); }
40120 public TerminalNode FORCE_DEFAULT_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_DEFAULT_CARDINALITY_ESTIMATION, 0); }
40121 public TerminalNode FORCE_LEGACY_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_LEGACY_CARDINALITY_ESTIMATION, 0); }
40122 public TerminalNode QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n() { return getToken(SQLServerStatementParser.QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n, 0); }
40123 public TerminalNode QUERY_PLAN_PROFILE() { return getToken(SQLServerStatementParser.QUERY_PLAN_PROFILE, 0); }
40124 public UseHitNameContext(ParserRuleContext parent, int invokingState) {
40125 super(parent, invokingState);
40126 }
40127 @Override public int getRuleIndex() { return RULE_useHitName; }
40128 @Override
40129 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40130 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUseHitName(this);
40131 else return visitor.visitChildren(this);
40132 }
40133 }
40134
40135 public final UseHitNameContext useHitName() throws RecognitionException {
40136 UseHitNameContext _localctx = new UseHitNameContext(_ctx, getState());
40137 enterRule(_localctx, 772, RULE_useHitName);
40138 try {
40139 setState(5560);
40140 _errHandler.sync(this);
40141 switch ( getInterpreter().adaptivePredict(_input,633,_ctx) ) {
40142 case 1:
40143 enterOuterAlt(_localctx, 1);
40144 {
40145 setState(5506);
40146 match(SQ_);
40147 setState(5507);
40148 match(ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS);
40149 setState(5508);
40150 match(SQ_);
40151 }
40152 break;
40153 case 2:
40154 enterOuterAlt(_localctx, 2);
40155 {
40156 setState(5509);
40157 match(SQ_);
40158 setState(5510);
40159 match(ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES);
40160 setState(5511);
40161 match(SQ_);
40162 }
40163 break;
40164 case 3:
40165 enterOuterAlt(_localctx, 3);
40166 {
40167 setState(5512);
40168 match(SQ_);
40169 setState(5513);
40170 match(DISABLE_BATCH_MODE_ADAPTIVE_JOINS);
40171 setState(5514);
40172 match(SQ_);
40173 }
40174 break;
40175 case 4:
40176 enterOuterAlt(_localctx, 4);
40177 {
40178 setState(5515);
40179 match(SQ_);
40180 setState(5516);
40181 match(DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK);
40182 setState(5517);
40183 match(SQ_);
40184 }
40185 break;
40186 case 5:
40187 enterOuterAlt(_localctx, 5);
40188 {
40189 setState(5518);
40190 match(SQ_);
40191 setState(5519);
40192 match(DISABLE_DEFERRED_COMPILATION_TV);
40193 setState(5520);
40194 match(SQ_);
40195 }
40196 break;
40197 case 6:
40198 enterOuterAlt(_localctx, 6);
40199 {
40200 setState(5521);
40201 match(SQ_);
40202 setState(5522);
40203 match(DISABLE_INTERLEAVED_EXECUTION_TVF);
40204 setState(5523);
40205 match(SQ_);
40206 }
40207 break;
40208 case 7:
40209 enterOuterAlt(_localctx, 7);
40210 {
40211 setState(5524);
40212 match(SQ_);
40213 setState(5525);
40214 match(DISABLE_OPTIMIZED_NESTED_LOOP);
40215 setState(5526);
40216 match(SQ_);
40217 }
40218 break;
40219 case 8:
40220 enterOuterAlt(_localctx, 8);
40221 {
40222 setState(5527);
40223 match(SQ_);
40224 setState(5528);
40225 match(DISABLE_OPTIMIZER_ROWGOAL);
40226 setState(5529);
40227 match(SQ_);
40228 }
40229 break;
40230 case 9:
40231 enterOuterAlt(_localctx, 9);
40232 {
40233 setState(5530);
40234 match(SQ_);
40235 setState(5531);
40236 match(DISABLE_PARAMETER_SNIFFING);
40237 setState(5532);
40238 match(SQ_);
40239 }
40240 break;
40241 case 10:
40242 enterOuterAlt(_localctx, 10);
40243 {
40244 setState(5533);
40245 match(SQ_);
40246 setState(5534);
40247 match(DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK);
40248 setState(5535);
40249 match(SQ_);
40250 }
40251 break;
40252 case 11:
40253 enterOuterAlt(_localctx, 11);
40254 {
40255 setState(5536);
40256 match(SQ_);
40257 setState(5537);
40258 match(DISABLE_TSQL_SCALAR_UDF_INLINING);
40259 setState(5538);
40260 match(SQ_);
40261 }
40262 break;
40263 case 12:
40264 enterOuterAlt(_localctx, 12);
40265 {
40266 setState(5539);
40267 match(SQ_);
40268 setState(5540);
40269 match(DISALLOW_BATCH_MODE);
40270 setState(5541);
40271 match(SQ_);
40272 }
40273 break;
40274 case 13:
40275 enterOuterAlt(_localctx, 13);
40276 {
40277 setState(5542);
40278 match(SQ_);
40279 setState(5543);
40280 match(ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS);
40281 setState(5544);
40282 match(SQ_);
40283 }
40284 break;
40285 case 14:
40286 enterOuterAlt(_localctx, 14);
40287 {
40288 setState(5545);
40289 match(SQ_);
40290 setState(5546);
40291 match(ENABLE_QUERY_OPTIMIZER_HOTFIXES);
40292 setState(5547);
40293 match(SQ_);
40294 }
40295 break;
40296 case 15:
40297 enterOuterAlt(_localctx, 15);
40298 {
40299 setState(5548);
40300 match(SQ_);
40301 setState(5549);
40302 match(FORCE_DEFAULT_CARDINALITY_ESTIMATION);
40303 setState(5550);
40304 match(SQ_);
40305 }
40306 break;
40307 case 16:
40308 enterOuterAlt(_localctx, 16);
40309 {
40310 setState(5551);
40311 match(SQ_);
40312 setState(5552);
40313 match(FORCE_LEGACY_CARDINALITY_ESTIMATION);
40314 setState(5553);
40315 match(SQ_);
40316 }
40317 break;
40318 case 17:
40319 enterOuterAlt(_localctx, 17);
40320 {
40321 setState(5554);
40322 match(SQ_);
40323 setState(5555);
40324 match(QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n);
40325 setState(5556);
40326 match(SQ_);
40327 }
40328 break;
40329 case 18:
40330 enterOuterAlt(_localctx, 18);
40331 {
40332 setState(5557);
40333 match(SQ_);
40334 setState(5558);
40335 match(QUERY_PLAN_PROFILE);
40336 setState(5559);
40337 match(SQ_);
40338 }
40339 break;
40340 }
40341 }
40342 catch (RecognitionException re) {
40343 _localctx.exception = re;
40344 _errHandler.reportError(this, re);
40345 _errHandler.recover(this, re);
40346 }
40347 finally {
40348 exitRule();
40349 }
40350 return _localctx;
40351 }
40352
40353 public static class ForClauseContext extends ParserRuleContext {
40354 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
40355 public TerminalNode BROWSE() { return getToken(SQLServerStatementParser.BROWSE, 0); }
40356 public ForXmlClauseContext forXmlClause() {
40357 return getRuleContext(ForXmlClauseContext.class,0);
40358 }
40359 public ForJsonClauseContext forJsonClause() {
40360 return getRuleContext(ForJsonClauseContext.class,0);
40361 }
40362 public ForClauseContext(ParserRuleContext parent, int invokingState) {
40363 super(parent, invokingState);
40364 }
40365 @Override public int getRuleIndex() { return RULE_forClause; }
40366 @Override
40367 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40368 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForClause(this);
40369 else return visitor.visitChildren(this);
40370 }
40371 }
40372
40373 public final ForClauseContext forClause() throws RecognitionException {
40374 ForClauseContext _localctx = new ForClauseContext(_ctx, getState());
40375 enterRule(_localctx, 774, RULE_forClause);
40376 try {
40377 enterOuterAlt(_localctx, 1);
40378 {
40379 setState(5562);
40380 match(FOR);
40381 setState(5566);
40382 _errHandler.sync(this);
40383 switch (_input.LA(1)) {
40384 case BROWSE:
40385 {
40386 setState(5563);
40387 match(BROWSE);
40388 }
40389 break;
40390 case XML:
40391 {
40392 setState(5564);
40393 forXmlClause();
40394 }
40395 break;
40396 case JSON:
40397 {
40398 setState(5565);
40399 forJsonClause();
40400 }
40401 break;
40402 default:
40403 throw new NoViableAltException(this);
40404 }
40405 }
40406 }
40407 catch (RecognitionException re) {
40408 _localctx.exception = re;
40409 _errHandler.reportError(this, re);
40410 _errHandler.recover(this, re);
40411 }
40412 finally {
40413 exitRule();
40414 }
40415 return _localctx;
40416 }
40417
40418 public static class ForXmlClauseContext extends ParserRuleContext {
40419 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
40420 public TerminalNode EXPLICIT() { return getToken(SQLServerStatementParser.EXPLICIT, 0); }
40421 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
40422 public TerminalNode RAW() { return getToken(SQLServerStatementParser.RAW, 0); }
40423 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
40424 public CommonDirectivesForXmlContext commonDirectivesForXml() {
40425 return getRuleContext(CommonDirectivesForXmlContext.class,0);
40426 }
40427 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
40428 public TerminalNode LP_(int i) {
40429 return getToken(SQLServerStatementParser.LP_, i);
40430 }
40431 public List<StringLiteralsContext> stringLiterals() {
40432 return getRuleContexts(StringLiteralsContext.class);
40433 }
40434 public StringLiteralsContext stringLiterals(int i) {
40435 return getRuleContext(StringLiteralsContext.class,i);
40436 }
40437 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
40438 public TerminalNode RP_(int i) {
40439 return getToken(SQLServerStatementParser.RP_, i);
40440 }
40441 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40442 public TerminalNode COMMA_(int i) {
40443 return getToken(SQLServerStatementParser.COMMA_, i);
40444 }
40445 public TerminalNode ELEMENTS() { return getToken(SQLServerStatementParser.ELEMENTS, 0); }
40446 public TerminalNode XMLDATA() { return getToken(SQLServerStatementParser.XMLDATA, 0); }
40447 public TerminalNode XMLSCHEMA() { return getToken(SQLServerStatementParser.XMLSCHEMA, 0); }
40448 public TerminalNode XSINIL() { return getToken(SQLServerStatementParser.XSINIL, 0); }
40449 public TerminalNode ABSENT() { return getToken(SQLServerStatementParser.ABSENT, 0); }
40450 public ForXmlClauseContext(ParserRuleContext parent, int invokingState) {
40451 super(parent, invokingState);
40452 }
40453 @Override public int getRuleIndex() { return RULE_forXmlClause; }
40454 @Override
40455 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40456 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForXmlClause(this);
40457 else return visitor.visitChildren(this);
40458 }
40459 }
40460
40461 public final ForXmlClauseContext forXmlClause() throws RecognitionException {
40462 ForXmlClauseContext _localctx = new ForXmlClauseContext(_ctx, getState());
40463 enterRule(_localctx, 776, RULE_forXmlClause);
40464 int _la;
40465 try {
40466 enterOuterAlt(_localctx, 1);
40467 {
40468 setState(5568);
40469 match(XML);
40470 setState(5627);
40471 _errHandler.sync(this);
40472 switch (_input.LA(1)) {
40473 case AUTO:
40474 case RAW:
40475 {
40476 setState(5577);
40477 _errHandler.sync(this);
40478 switch (_input.LA(1)) {
40479 case RAW:
40480 {
40481 setState(5569);
40482 match(RAW);
40483 setState(5574);
40484 _errHandler.sync(this);
40485 _la = _input.LA(1);
40486 if (_la==LP_) {
40487 {
40488 setState(5570);
40489 match(LP_);
40490 setState(5571);
40491 stringLiterals();
40492 setState(5572);
40493 match(RP_);
40494 }
40495 }
40496
40497 }
40498 break;
40499 case AUTO:
40500 {
40501 setState(5576);
40502 match(AUTO);
40503 }
40504 break;
40505 default:
40506 throw new NoViableAltException(this);
40507 }
40508 setState(5600);
40509 _errHandler.sync(this);
40510 switch ( getInterpreter().adaptivePredict(_input,642,_ctx) ) {
40511 case 1:
40512 {
40513 setState(5579);
40514 commonDirectivesForXml();
40515 setState(5591);
40516 _errHandler.sync(this);
40517 switch ( getInterpreter().adaptivePredict(_input,639,_ctx) ) {
40518 case 1:
40519 {
40520 setState(5580);
40521 match(COMMA_);
40522 setState(5589);
40523 _errHandler.sync(this);
40524 switch (_input.LA(1)) {
40525 case XMLDATA:
40526 {
40527 setState(5581);
40528 match(XMLDATA);
40529 }
40530 break;
40531 case XMLSCHEMA:
40532 {
40533 setState(5582);
40534 match(XMLSCHEMA);
40535 setState(5587);
40536 _errHandler.sync(this);
40537 _la = _input.LA(1);
40538 if (_la==LP_) {
40539 {
40540 setState(5583);
40541 match(LP_);
40542 setState(5584);
40543 stringLiterals();
40544 setState(5585);
40545 match(RP_);
40546 }
40547 }
40548
40549 }
40550 break;
40551 default:
40552 throw new NoViableAltException(this);
40553 }
40554 }
40555 break;
40556 }
40557 setState(5598);
40558 _errHandler.sync(this);
40559 _la = _input.LA(1);
40560 if (_la==COMMA_) {
40561 {
40562 setState(5593);
40563 match(COMMA_);
40564 setState(5594);
40565 match(ELEMENTS);
40566 setState(5596);
40567 _errHandler.sync(this);
40568 _la = _input.LA(1);
40569 if (_la==XSINIL || _la==ABSENT) {
40570 {
40571 setState(5595);
40572 _la = _input.LA(1);
40573 if ( !(_la==XSINIL || _la==ABSENT) ) {
40574 _errHandler.recoverInline(this);
40575 }
40576 else {
40577 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40578 _errHandler.reportMatch(this);
40579 consume();
40580 }
40581 }
40582 }
40583
40584 }
40585 }
40586
40587 }
40588 break;
40589 }
40590 }
40591 break;
40592 case EXPLICIT:
40593 {
40594 setState(5602);
40595 match(EXPLICIT);
40596 setState(5608);
40597 _errHandler.sync(this);
40598 switch ( getInterpreter().adaptivePredict(_input,644,_ctx) ) {
40599 case 1:
40600 {
40601 setState(5603);
40602 commonDirectivesForXml();
40603 setState(5606);
40604 _errHandler.sync(this);
40605 _la = _input.LA(1);
40606 if (_la==COMMA_) {
40607 {
40608 setState(5604);
40609 match(COMMA_);
40610 setState(5605);
40611 match(XMLDATA);
40612 }
40613 }
40614
40615 }
40616 break;
40617 }
40618 }
40619 break;
40620 case PATH:
40621 {
40622 setState(5610);
40623 match(PATH);
40624 setState(5615);
40625 _errHandler.sync(this);
40626 _la = _input.LA(1);
40627 if (_la==LP_) {
40628 {
40629 setState(5611);
40630 match(LP_);
40631 setState(5612);
40632 stringLiterals();
40633 setState(5613);
40634 match(RP_);
40635 }
40636 }
40637
40638 setState(5625);
40639 _errHandler.sync(this);
40640 switch ( getInterpreter().adaptivePredict(_input,648,_ctx) ) {
40641 case 1:
40642 {
40643 setState(5617);
40644 commonDirectivesForXml();
40645 setState(5623);
40646 _errHandler.sync(this);
40647 _la = _input.LA(1);
40648 if (_la==COMMA_) {
40649 {
40650 setState(5618);
40651 match(COMMA_);
40652 setState(5619);
40653 match(ELEMENTS);
40654 setState(5621);
40655 _errHandler.sync(this);
40656 _la = _input.LA(1);
40657 if (_la==XSINIL || _la==ABSENT) {
40658 {
40659 setState(5620);
40660 _la = _input.LA(1);
40661 if ( !(_la==XSINIL || _la==ABSENT) ) {
40662 _errHandler.recoverInline(this);
40663 }
40664 else {
40665 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40666 _errHandler.reportMatch(this);
40667 consume();
40668 }
40669 }
40670 }
40671
40672 }
40673 }
40674
40675 }
40676 break;
40677 }
40678 }
40679 break;
40680 default:
40681 throw new NoViableAltException(this);
40682 }
40683 }
40684 }
40685 catch (RecognitionException re) {
40686 _localctx.exception = re;
40687 _errHandler.reportError(this, re);
40688 _errHandler.recover(this, re);
40689 }
40690 finally {
40691 exitRule();
40692 }
40693 return _localctx;
40694 }
40695
40696 public static class CommonDirectivesForXmlContext extends ParserRuleContext {
40697 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40698 public TerminalNode COMMA_(int i) {
40699 return getToken(SQLServerStatementParser.COMMA_, i);
40700 }
40701 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
40702 public TerminalNode BASE64() { return getToken(SQLServerStatementParser.BASE64, 0); }
40703 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
40704 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
40705 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
40706 public StringLiteralsContext stringLiterals() {
40707 return getRuleContext(StringLiteralsContext.class,0);
40708 }
40709 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
40710 public CommonDirectivesForXmlContext(ParserRuleContext parent, int invokingState) {
40711 super(parent, invokingState);
40712 }
40713 @Override public int getRuleIndex() { return RULE_commonDirectivesForXml; }
40714 @Override
40715 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40716 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonDirectivesForXml(this);
40717 else return visitor.visitChildren(this);
40718 }
40719 }
40720
40721 public final CommonDirectivesForXmlContext commonDirectivesForXml() throws RecognitionException {
40722 CommonDirectivesForXmlContext _localctx = new CommonDirectivesForXmlContext(_ctx, getState());
40723 enterRule(_localctx, 778, RULE_commonDirectivesForXml);
40724 int _la;
40725 try {
40726 enterOuterAlt(_localctx, 1);
40727 {
40728 setState(5632);
40729 _errHandler.sync(this);
40730 switch ( getInterpreter().adaptivePredict(_input,650,_ctx) ) {
40731 case 1:
40732 {
40733 setState(5629);
40734 match(COMMA_);
40735 setState(5630);
40736 match(BINARY);
40737 setState(5631);
40738 match(BASE64);
40739 }
40740 break;
40741 }
40742 setState(5636);
40743 _errHandler.sync(this);
40744 switch ( getInterpreter().adaptivePredict(_input,651,_ctx) ) {
40745 case 1:
40746 {
40747 setState(5634);
40748 match(COMMA_);
40749 setState(5635);
40750 match(TYPE);
40751 }
40752 break;
40753 }
40754 setState(5646);
40755 _errHandler.sync(this);
40756 switch ( getInterpreter().adaptivePredict(_input,653,_ctx) ) {
40757 case 1:
40758 {
40759 setState(5638);
40760 match(COMMA_);
40761 setState(5639);
40762 match(ROOT);
40763 setState(5644);
40764 _errHandler.sync(this);
40765 _la = _input.LA(1);
40766 if (_la==LP_) {
40767 {
40768 setState(5640);
40769 match(LP_);
40770 setState(5641);
40771 stringLiterals();
40772 setState(5642);
40773 match(RP_);
40774 }
40775 }
40776
40777 }
40778 break;
40779 }
40780 }
40781 }
40782 catch (RecognitionException re) {
40783 _localctx.exception = re;
40784 _errHandler.reportError(this, re);
40785 _errHandler.recover(this, re);
40786 }
40787 finally {
40788 exitRule();
40789 }
40790 return _localctx;
40791 }
40792
40793 public static class ForJsonClauseContext extends ParserRuleContext {
40794 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
40795 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
40796 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
40797 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40798 public TerminalNode COMMA_(int i) {
40799 return getToken(SQLServerStatementParser.COMMA_, i);
40800 }
40801 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
40802 public TerminalNode INCLUDE_NULL_VALUES() { return getToken(SQLServerStatementParser.INCLUDE_NULL_VALUES, 0); }
40803 public TerminalNode WITHOUT_ARRAY_WRAPPER() { return getToken(SQLServerStatementParser.WITHOUT_ARRAY_WRAPPER, 0); }
40804 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
40805 public StringLiteralsContext stringLiterals() {
40806 return getRuleContext(StringLiteralsContext.class,0);
40807 }
40808 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
40809 public ForJsonClauseContext(ParserRuleContext parent, int invokingState) {
40810 super(parent, invokingState);
40811 }
40812 @Override public int getRuleIndex() { return RULE_forJsonClause; }
40813 @Override
40814 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40815 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForJsonClause(this);
40816 else return visitor.visitChildren(this);
40817 }
40818 }
40819
40820 public final ForJsonClauseContext forJsonClause() throws RecognitionException {
40821 ForJsonClauseContext _localctx = new ForJsonClauseContext(_ctx, getState());
40822 enterRule(_localctx, 780, RULE_forJsonClause);
40823 int _la;
40824 try {
40825 enterOuterAlt(_localctx, 1);
40826 {
40827 setState(5648);
40828 match(JSON);
40829 {
40830 setState(5649);
40831 _la = _input.LA(1);
40832 if ( !(_la==AUTO || _la==PATH) ) {
40833 _errHandler.recoverInline(this);
40834 }
40835 else {
40836 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40837 _errHandler.reportMatch(this);
40838 consume();
40839 }
40840 setState(5668);
40841 _errHandler.sync(this);
40842 switch ( getInterpreter().adaptivePredict(_input,658,_ctx) ) {
40843 case 1:
40844 {
40845 setState(5658);
40846 _errHandler.sync(this);
40847 switch ( getInterpreter().adaptivePredict(_input,655,_ctx) ) {
40848 case 1:
40849 {
40850 setState(5650);
40851 match(COMMA_);
40852 setState(5651);
40853 match(ROOT);
40854 setState(5656);
40855 _errHandler.sync(this);
40856 _la = _input.LA(1);
40857 if (_la==LP_) {
40858 {
40859 setState(5652);
40860 match(LP_);
40861 setState(5653);
40862 stringLiterals();
40863 setState(5654);
40864 match(RP_);
40865 }
40866 }
40867
40868 }
40869 break;
40870 }
40871 setState(5662);
40872 _errHandler.sync(this);
40873 switch ( getInterpreter().adaptivePredict(_input,656,_ctx) ) {
40874 case 1:
40875 {
40876 setState(5660);
40877 match(COMMA_);
40878 setState(5661);
40879 match(INCLUDE_NULL_VALUES);
40880 }
40881 break;
40882 }
40883 setState(5666);
40884 _errHandler.sync(this);
40885 _la = _input.LA(1);
40886 if (_la==COMMA_) {
40887 {
40888 setState(5664);
40889 match(COMMA_);
40890 setState(5665);
40891 match(WITHOUT_ARRAY_WRAPPER);
40892 }
40893 }
40894
40895 }
40896 break;
40897 }
40898 }
40899 }
40900 }
40901 catch (RecognitionException re) {
40902 _localctx.exception = re;
40903 _errHandler.reportError(this, re);
40904 _errHandler.recover(this, re);
40905 }
40906 finally {
40907 exitRule();
40908 }
40909 return _localctx;
40910 }
40911
40912 public static class SelectWithClauseContext extends ParserRuleContext {
40913 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
40914 public XmlNamespacesClauseContext xmlNamespacesClause() {
40915 return getRuleContext(XmlNamespacesClauseContext.class,0);
40916 }
40917 public CteClauseSetContext cteClauseSet() {
40918 return getRuleContext(CteClauseSetContext.class,0);
40919 }
40920 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
40921 public SelectWithClauseContext(ParserRuleContext parent, int invokingState) {
40922 super(parent, invokingState);
40923 }
40924 @Override public int getRuleIndex() { return RULE_selectWithClause; }
40925 @Override
40926 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40927 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectWithClause(this);
40928 else return visitor.visitChildren(this);
40929 }
40930 }
40931
40932 public final SelectWithClauseContext selectWithClause() throws RecognitionException {
40933 SelectWithClauseContext _localctx = new SelectWithClauseContext(_ctx, getState());
40934 enterRule(_localctx, 782, RULE_selectWithClause);
40935 int _la;
40936 try {
40937 enterOuterAlt(_localctx, 1);
40938 {
40939 setState(5670);
40940 match(WITH);
40941 setState(5675);
40942 _errHandler.sync(this);
40943 _la = _input.LA(1);
40944 if (_la==XMLNAMESPACES) {
40945 {
40946 setState(5671);
40947 xmlNamespacesClause();
40948 setState(5673);
40949 _errHandler.sync(this);
40950 _la = _input.LA(1);
40951 if (_la==COMMA_) {
40952 {
40953 setState(5672);
40954 match(COMMA_);
40955 }
40956 }
40957
40958 }
40959 }
40960
40961 setState(5678);
40962 _errHandler.sync(this);
40963 _la = _input.LA(1);
40964 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)) | (1L << (ROW - 184)) | (1L << (ROWS - 184)) | (1L << (XOR - 184)) | (1L << (ALWAYS - 184)))) != 0) || ((((_la - 254)) & ~0x3f) == 0 && ((1L << (_la - 254)) & ((1L << (ROLE - 254)) | (1L << (START - 254)) | (1L << (ALGORITHM - 254)) | (1L << (AUTO - 254)) | (1L << (BLOCKERS - 254)) | (1L << (CLUSTERED - 254)) | (1L << (NONCLUSTERED - 254)) | (1L << (COLUMNSTORE - 254)) | (1L << (CONTENT - 254)) | (1L << (YEARS - 254)) | (1L << (MONTHS - 254)) | (1L << (WEEKS - 254)) | (1L << (DAYS - 254)) | (1L << (MINUTES - 254)) | (1L << (DENY - 254)) | (1L << (DETERMINISTIC - 254)) | (1L << (DISTRIBUTION - 254)) | (1L << (DOCUMENT - 254)) | (1L << (DURABILITY - 254)) | (1L << (ENCRYPTED - 254)) | (1L << (FILESTREAM - 254)) | (1L << (FILETABLE - 254)) | (1L << (FILLFACTOR - 254)) | (1L << (FOLLOWING - 254)) | (1L << (HASH - 254)) | (1L << (HEAP - 254)) | (1L << (INBOUND - 254)) | (1L << (OUTBOUND - 254)) | (1L << (UNBOUNDED - 254)) | (1L << (INFINITE - 254)) | (1L << (LOGIN - 254)) | (1L << (MASKED - 254)) | (1L << (MAXDOP - 254)) | (1L << (MOVE - 254)) | (1L << (NOCHECK - 254)) | (1L << (OBJECT - 254)) | (1L << (ONLINE - 254)) | (1L << (OVER - 254)) | (1L << (PAGE - 254)) | (1L << (PAUSED - 254)) | (1L << (PERIOD - 254)) | (1L << (PERSISTED - 254)) | (1L << (PRECEDING - 254)) | (1L << (RANDOMIZED - 254)) | (1L << (RANGE - 254)) | (1L << (REBUILD - 254)) | (1L << (REPLICATE - 254)) | (1L << (REPLICATION - 254)) | (1L << (RESUMABLE - 254)) | (1L << (ROWGUIDCOL - 254)) | (1L << (SAVE - 254)) | (1L << (SELF - 254)) | (1L << (SPARSE - 254)) | (1L << (SWITCH - 254)) | (1L << (TRAN - 254)) | (1L << (TRANCOUNT - 254)))) != 0) || ((((_la - 324)) & ~0x3f) == 0 && ((1L << (_la - 324)) & ((1L << (CONTROL - 324)) | (1L << (CONCAT - 324)) | (1L << (TAKE - 324)) | (1L << (OWNERSHIP - 324)) | (1L << (DEFINITION - 324)) | (1L << (APPLICATION - 324)) | (1L << (ASSEMBLY - 324)) | (1L << (SYMMETRIC - 324)) | (1L << (ASYMMETRIC - 324)) | (1L << (SERVER - 324)) | (1L << (RECEIVE - 324)) | (1L << (CHANGE - 324)) | (1L << (TRACE - 324)) | (1L << (TRACKING - 324)) | (1L << (RESOURCES - 324)) | (1L << (SETTINGS - 324)) | (1L << (STATE - 324)) | (1L << (AVAILABILITY - 324)) | (1L << (CREDENTIAL - 324)) | (1L << (ENDPOINT - 324)) | (1L << (EVENT - 324)) | (1L << (NOTIFICATION - 324)) | (1L << (LINKED - 324)) | (1L << (AUDIT - 324)) | (1L << (DDL - 324)) | (1L << (XML - 324)) | (1L << (IMPERSONATE - 324)) | (1L << (SECURABLES - 324)) | (1L << (AUTHENTICATE - 324)) | (1L << (EXTERNAL - 324)) | (1L << (ACCESS - 324)) | (1L << (ADMINISTER - 324)) | (1L << (BULK - 324)) | (1L << (OPERATIONS - 324)) | (1L << (UNSAFE - 324)) | (1L << (SHUTDOWN - 324)) | (1L << (SCOPED - 324)) | (1L << (CONFIGURATION - 324)) | (1L << (DATASPACE - 324)) | (1L << (SERVICE - 324)) | (1L << (CERTIFICATE - 324)) | (1L << (CONTRACT - 324)) | (1L << (ENCRYPTION - 324)) | (1L << (MASTER - 324)) | (1L << (DATA - 324)) | (1L << (SOURCE - 324)) | (1L << (FILE - 324)) | (1L << (FORMAT - 324)) | (1L << (LIBRARY - 324)) | (1L << (FULLTEXT - 324)) | (1L << (MASK - 324)) | (1L << (UNMASK - 324)) | (1L << (MESSAGE - 324)) | (1L << (REMOTE - 324)) | (1L << (BINDING - 324)) | (1L << (ROUTE - 324)) | (1L << (SECURITY - 324)) | (1L << (POLICY - 324)) | (1L << (AGGREGATE - 324)) | (1L << (QUEUE - 324)) | (1L << (RULE - 324)) | (1L << (SYNONYM - 324)) | (1L << (COLLECTION - 324)) | (1L << (SCRIPT - 324)))) != 0) || ((((_la - 388)) & ~0x3f) == 0 && ((1L << (_la - 388)) & ((1L << (KILL - 388)) | (1L << (BACKUP - 388)) | (1L << (LOG - 388)) | (1L << (SHOWPLAN - 388)) | (1L << (SUBSCRIBE - 388)) | (1L << (QUERY - 388)) | (1L << (NOTIFICATIONS - 388)) | (1L << (CHECKPOINT - 388)) | (1L << (SEQUENCE - 388)) | (1L << (ABORT_AFTER_WAIT - 388)) | (1L << (ALLOW_PAGE_LOCKS - 388)) | (1L << (ALLOW_ROW_LOCKS - 388)) | (1L << (ALL_SPARSE_COLUMNS - 388)) | (1L << (BUCKET_COUNT - 388)) | (1L << (COLUMNSTORE_ARCHIVE - 388)) | (1L << (COLUMN_ENCRYPTION_KEY - 388)) | (1L << (COLUMN_SET - 388)) | (1L << (COMPRESSION_DELAY - 388)) | (1L << (DATABASE_DEAULT - 388)) | (1L << (DATA_COMPRESSION - 388)) | (1L << (DATA_CONSISTENCY_CHECK - 388)) | (1L << (ENCRYPTION_TYPE - 388)) | (1L << (SYSTEM_TIME - 388)) | (1L << (SYSTEM_VERSIONING - 388)) | (1L << (TEXTIMAGE_ON - 388)) | (1L << (WAIT_AT_LOW_PRIORITY - 388)) | (1L << (STATISTICS_INCREMENTAL - 388)) | (1L << (STATISTICS_NORECOMPUTE - 388)) | (1L << (ROUND_ROBIN - 388)) | (1L << (SCHEMA_AND_DATA - 388)) | (1L << (SCHEMA_ONLY - 388)) | (1L << (SORT_IN_TEMPDB - 388)) | (1L << (IGNORE_DUP_KEY - 388)) | (1L << (IMPLICIT_TRANSACTIONS - 388)) | (1L << (MAX_DURATION - 388)) | (1L << (MEMORY_OPTIMIZED - 388)) | (1L << (MIGRATION_STATE - 388)) | (1L << (PAD_INDEX - 388)) | (1L << (REMOTE_DATA_ARCHIVE - 388)) | (1L << (FILESTREAM_ON - 388)) | (1L << (FILETABLE_COLLATE_FILENAME - 388)) | (1L << (FILETABLE_DIRECTORY - 388)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 388)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 388)) | (1L << (FILTER_PREDICATE - 388)) | (1L << (HISTORY_RETENTION_PERIOD - 388)) | (1L << (HISTORY_TABLE - 388)) | (1L << (LOCK_ESCALATION - 388)) | (1L << (DROP_EXISTING - 388)) | (1L << (ROW_NUMBER - 388)) | (1L << (FIRST - 388)) | (1L << (DATETIME2 - 388)))) != 0) || ((((_la - 458)) & ~0x3f) == 0 && ((1L << (_la - 458)) & ((1L << (OUTPUT - 458)) | (1L << (INSERTED - 458)) | (1L << (DELETED - 458)) | (1L << (FILENAME - 458)) | (1L << (SIZE - 458)) | (1L << (MAXSIZE - 458)) | (1L << (FILEGROWTH - 458)) | (1L << (UNLIMITED - 458)) | (1L << (KB - 458)) | (1L << (MB - 458)) | (1L << (GB - 458)) | (1L << (TB - 458)) | (1L << (CONTAINS - 458)) | (1L << (MEMORY_OPTIMIZED_DATA - 458)) | (1L << (FILEGROUP - 458)) | (1L << (NON_TRANSACTED_ACCESS - 458)) | (1L << (DB_CHAINING - 458)) | (1L << (TRUSTWORTHY - 458)) | (1L << (FORWARD_ONLY - 458)) | (1L << (KEYSET - 458)) | (1L << (FAST_FORWARD - 458)) | (1L << (SCROLL_LOCKS - 458)) | (1L << (OPTIMISTIC - 458)) | (1L << (TYPE_WARNING - 458)) | (1L << (SCHEMABINDING - 458)))) != 0) || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (CALLER - 522)) | (1L << (OWNER - 522)) | (1L << (SNAPSHOT - 522)) | (1L << (REPEATABLE - 522)) | (1L << (SERIALIZABLE - 522)) | (1L << (NATIVE_COMPILATION - 522)) | (1L << (VIEW_METADATA - 522)) | (1L << (INSTEAD - 522)) | (1L << (APPEND - 522)) | (1L << (INCREMENT - 522)) | (1L << (CACHE - 522)) | (1L << (MINVALUE - 522)) | (1L << (MAXVALUE - 522)) | (1L << (RESTART - 522)) | (1L << (LOB_COMPACTION - 522)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 522)) | (1L << (REORGANIZE - 522)) | (1L << (RESUME - 522)) | (1L << (PAUSE - 522)) | (1L << (ABORT - 522)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 522)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 522)) | (1L << (IMMEDIATE - 522)) | (1L << (NO_WAIT - 522)) | (1L << (TARGET_RECOVERY_TIME - 522)) | (1L << (SECONDS - 522)) | (1L << (HONOR_BROKER_PRIORITY - 522)) | (1L << (ERROR_BROKER_CONVERSATIONS - 522)) | (1L << (NEW_BROKER - 522)) | (1L << (DISABLE_BROKER - 522)) | (1L << (ENABLE_BROKER - 522)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 522)) | (1L << (READ_COMMITTED_SNAPSHOT - 522)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 522)) | (1L << (RECURSIVE_TRIGGERS - 522)) | (1L << (QUOTED_IDENTIFIER - 522)) | (1L << (NUMERIC_ROUNDABORT - 522)) | (1L << (CONCAT_NULL_YIELDS_NULL - 522)) | (1L << (COMPATIBILITY_LEVEL - 522)) | (1L << (ARITHABORT - 522)) | (1L << (ANSI_WARNINGS - 522)) | (1L << (ANSI_PADDING - 522)) | (1L << (ANSI_NULLS - 522)))) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & ((1L << (ANSI_NULL_DEFAULT - 586)) | (1L << (PAGE_VERIFY - 586)) | (1L << (CHECKSUM - 586)) | (1L << (TORN_PAGE_DETECTION - 586)) | (1L << (BULK_LOGGED - 586)) | (1L << (RECOVERY - 586)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 586)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 586)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 586)) | (1L << (EXECUTION_COUNT - 586)) | (1L << (QUERY_CAPTURE_POLICY - 586)) | (1L << (WAIT_STATS_CAPTURE_MODE - 586)) | (1L << (MAX_PLANS_PER_QUERY - 586)) | (1L << (QUERY_CAPTURE_MODE - 586)) | (1L << (SIZE_BASED_CLEANUP_MODE - 586)) | (1L << (INTERVAL_LENGTH_MINUTES - 586)) | (1L << (MAX_STORAGE_SIZE_MB - 586)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 586)) | (1L << (CLEANUP_POLICY - 586)) | (1L << (CUSTOM - 586)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 586)) | (1L << (OPERATION_MODE - 586)) | (1L << (QUERY_STORE - 586)) | (1L << (CURSOR_DEFAULT - 586)) | (1L << (GLOBAL - 586)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 586)) | (1L << (HOURS - 586)) | (1L << (CHANGE_RETENTION - 586)) | (1L << (AUTO_CLEANUP - 586)) | (1L << (CHANGE_TRACKING - 586)) | (1L << (AUTOMATIC_TUNING - 586)) | (1L << (FORCE_LAST_GOOD_PLAN - 586)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 586)) | (1L << (AUTO_UPDATE_STATISTICS - 586)) | (1L << (AUTO_SHRINK - 586)) | (1L << (AUTO_CREATE_STATISTICS - 586)) | (1L << (INCREMENTAL - 586)) | (1L << (AUTO_CLOSE - 586)) | (1L << (DATA_RETENTION - 586)) | (1L << (TEMPORAL_HISTORY_RETENTION - 586)) | (1L << (EDITION - 586)) | (1L << (MIXED_PAGE_ALLOCATION - 586)) | (1L << (DISABLED - 586)) | (1L << (ALLOWED - 586)) | (1L << (HADR - 586)) | (1L << (MULTI_USER - 586)) | (1L << (RESTRICTED_USER - 586)) | (1L << (SINGLE_USER - 586)) | (1L << (OFFLINE - 586)) | (1L << (EMERGENCY - 586)) | (1L << (SUSPEND - 586)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 586)) | (1L << (ELASTIC_POOL - 586)) | (1L << (SERVICE_OBJECTIVE - 586)) | (1L << (DATABASE_NAME - 586)) | (1L << (ALLOW_CONNECTIONS - 586)) | (1L << (GEO - 586)) | (1L << (NAMED - 586)) | (1L << (DATEFIRST - 586)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 586)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 586)) | (1L << (SECONDARY - 586)) | (1L << (FAILOVER - 586)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 586)))) != 0) || ((((_la - 650)) & ~0x3f) == 0 && ((1L << (_la - 650)) & ((1L << (DEFAULT_LANGUAGE - 650)) | (1L << (INLINE - 650)) | (1L << (NESTED_TRIGGERS - 650)) | (1L << (TRANSFORM_NOISE_WORDS - 650)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 650)) | (1L << (PERSISTENT_LOG_BUFFER - 650)) | (1L << (DIRECTORY_NAME - 650)) | (1L << (DATEFORMAT - 650)) | (1L << (DELAYED_DURABILITY - 650)) | (1L << (AUTHORIZATION - 650)) | (1L << (TRANSFER - 650)) | (1L << (PROVIDER - 650)) | (1L << (SEARCH - 650)) | (1L << (MEMBER - 650)) | (1L << (IDENTIFIER_ - 650)) | (1L << (DELIMITED_IDENTIFIER_ - 650)))) != 0)) {
40965 {
40966 setState(5677);
40967 cteClauseSet();
40968 }
40969 }
40970
40971 }
40972 }
40973 catch (RecognitionException re) {
40974 _localctx.exception = re;
40975 _errHandler.reportError(this, re);
40976 _errHandler.recover(this, re);
40977 }
40978 finally {
40979 exitRule();
40980 }
40981 return _localctx;
40982 }
40983
40984 public static class XmlNamespacesClauseContext extends ParserRuleContext {
40985 public TerminalNode XMLNAMESPACES() { return getToken(SQLServerStatementParser.XMLNAMESPACES, 0); }
40986 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
40987 public List<XmlNamespaceDeclarationItemContext> xmlNamespaceDeclarationItem() {
40988 return getRuleContexts(XmlNamespaceDeclarationItemContext.class);
40989 }
40990 public XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem(int i) {
40991 return getRuleContext(XmlNamespaceDeclarationItemContext.class,i);
40992 }
40993 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
40994 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40995 public TerminalNode COMMA_(int i) {
40996 return getToken(SQLServerStatementParser.COMMA_, i);
40997 }
40998 public XmlNamespacesClauseContext(ParserRuleContext parent, int invokingState) {
40999 super(parent, invokingState);
41000 }
41001 @Override public int getRuleIndex() { return RULE_xmlNamespacesClause; }
41002 @Override
41003 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41004 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacesClause(this);
41005 else return visitor.visitChildren(this);
41006 }
41007 }
41008
41009 public final XmlNamespacesClauseContext xmlNamespacesClause() throws RecognitionException {
41010 XmlNamespacesClauseContext _localctx = new XmlNamespacesClauseContext(_ctx, getState());
41011 enterRule(_localctx, 784, RULE_xmlNamespacesClause);
41012 int _la;
41013 try {
41014 enterOuterAlt(_localctx, 1);
41015 {
41016 setState(5680);
41017 match(XMLNAMESPACES);
41018 setState(5681);
41019 match(LP_);
41020 setState(5682);
41021 xmlNamespaceDeclarationItem();
41022 setState(5687);
41023 _errHandler.sync(this);
41024 _la = _input.LA(1);
41025 while (_la==COMMA_) {
41026 {
41027 {
41028 setState(5683);
41029 match(COMMA_);
41030 setState(5684);
41031 xmlNamespaceDeclarationItem();
41032 }
41033 }
41034 setState(5689);
41035 _errHandler.sync(this);
41036 _la = _input.LA(1);
41037 }
41038 setState(5690);
41039 match(RP_);
41040 }
41041 }
41042 catch (RecognitionException re) {
41043 _localctx.exception = re;
41044 _errHandler.reportError(this, re);
41045 _errHandler.recover(this, re);
41046 }
41047 finally {
41048 exitRule();
41049 }
41050 return _localctx;
41051 }
41052
41053 public static class XmlNamespaceDeclarationItemContext extends ParserRuleContext {
41054 public XmlNamespaceUriContext xmlNamespaceUri() {
41055 return getRuleContext(XmlNamespaceUriContext.class,0);
41056 }
41057 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
41058 public XmlNamespacePrefixContext xmlNamespacePrefix() {
41059 return getRuleContext(XmlNamespacePrefixContext.class,0);
41060 }
41061 public XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() {
41062 return getRuleContext(XmlDefaultNamespaceDeclarationItemContext.class,0);
41063 }
41064 public XmlNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
41065 super(parent, invokingState);
41066 }
41067 @Override public int getRuleIndex() { return RULE_xmlNamespaceDeclarationItem; }
41068 @Override
41069 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41070 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceDeclarationItem(this);
41071 else return visitor.visitChildren(this);
41072 }
41073 }
41074
41075 public final XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem() throws RecognitionException {
41076 XmlNamespaceDeclarationItemContext _localctx = new XmlNamespaceDeclarationItemContext(_ctx, getState());
41077 enterRule(_localctx, 786, RULE_xmlNamespaceDeclarationItem);
41078 try {
41079 setState(5697);
41080 _errHandler.sync(this);
41081 switch (_input.LA(1)) {
41082 case STRING_:
41083 case NCHAR_TEXT:
41084 enterOuterAlt(_localctx, 1);
41085 {
41086 setState(5692);
41087 xmlNamespaceUri();
41088 setState(5693);
41089 match(AS);
41090 setState(5694);
41091 xmlNamespacePrefix();
41092 }
41093 break;
41094 case DEFAULT:
41095 enterOuterAlt(_localctx, 2);
41096 {
41097 setState(5696);
41098 xmlDefaultNamespaceDeclarationItem();
41099 }
41100 break;
41101 default:
41102 throw new NoViableAltException(this);
41103 }
41104 }
41105 catch (RecognitionException re) {
41106 _localctx.exception = re;
41107 _errHandler.reportError(this, re);
41108 _errHandler.recover(this, re);
41109 }
41110 finally {
41111 exitRule();
41112 }
41113 return _localctx;
41114 }
41115
41116 public static class XmlNamespaceUriContext extends ParserRuleContext {
41117 public StringLiteralsContext stringLiterals() {
41118 return getRuleContext(StringLiteralsContext.class,0);
41119 }
41120 public XmlNamespaceUriContext(ParserRuleContext parent, int invokingState) {
41121 super(parent, invokingState);
41122 }
41123 @Override public int getRuleIndex() { return RULE_xmlNamespaceUri; }
41124 @Override
41125 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41126 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceUri(this);
41127 else return visitor.visitChildren(this);
41128 }
41129 }
41130
41131 public final XmlNamespaceUriContext xmlNamespaceUri() throws RecognitionException {
41132 XmlNamespaceUriContext _localctx = new XmlNamespaceUriContext(_ctx, getState());
41133 enterRule(_localctx, 788, RULE_xmlNamespaceUri);
41134 try {
41135 enterOuterAlt(_localctx, 1);
41136 {
41137 setState(5699);
41138 stringLiterals();
41139 }
41140 }
41141 catch (RecognitionException re) {
41142 _localctx.exception = re;
41143 _errHandler.reportError(this, re);
41144 _errHandler.recover(this, re);
41145 }
41146 finally {
41147 exitRule();
41148 }
41149 return _localctx;
41150 }
41151
41152 public static class XmlNamespacePrefixContext extends ParserRuleContext {
41153 public IdentifierContext identifier() {
41154 return getRuleContext(IdentifierContext.class,0);
41155 }
41156 public XmlNamespacePrefixContext(ParserRuleContext parent, int invokingState) {
41157 super(parent, invokingState);
41158 }
41159 @Override public int getRuleIndex() { return RULE_xmlNamespacePrefix; }
41160 @Override
41161 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41162 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacePrefix(this);
41163 else return visitor.visitChildren(this);
41164 }
41165 }
41166
41167 public final XmlNamespacePrefixContext xmlNamespacePrefix() throws RecognitionException {
41168 XmlNamespacePrefixContext _localctx = new XmlNamespacePrefixContext(_ctx, getState());
41169 enterRule(_localctx, 790, RULE_xmlNamespacePrefix);
41170 try {
41171 enterOuterAlt(_localctx, 1);
41172 {
41173 setState(5701);
41174 identifier();
41175 }
41176 }
41177 catch (RecognitionException re) {
41178 _localctx.exception = re;
41179 _errHandler.reportError(this, re);
41180 _errHandler.recover(this, re);
41181 }
41182 finally {
41183 exitRule();
41184 }
41185 return _localctx;
41186 }
41187
41188 public static class XmlDefaultNamespaceDeclarationItemContext extends ParserRuleContext {
41189 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
41190 public XmlNamespaceUriContext xmlNamespaceUri() {
41191 return getRuleContext(XmlNamespaceUriContext.class,0);
41192 }
41193 public XmlDefaultNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
41194 super(parent, invokingState);
41195 }
41196 @Override public int getRuleIndex() { return RULE_xmlDefaultNamespaceDeclarationItem; }
41197 @Override
41198 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41199 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlDefaultNamespaceDeclarationItem(this);
41200 else return visitor.visitChildren(this);
41201 }
41202 }
41203
41204 public final XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() throws RecognitionException {
41205 XmlDefaultNamespaceDeclarationItemContext _localctx = new XmlDefaultNamespaceDeclarationItemContext(_ctx, getState());
41206 enterRule(_localctx, 792, RULE_xmlDefaultNamespaceDeclarationItem);
41207 try {
41208 enterOuterAlt(_localctx, 1);
41209 {
41210 setState(5703);
41211 match(DEFAULT);
41212 setState(5704);
41213 xmlNamespaceUri();
41214 }
41215 }
41216 catch (RecognitionException re) {
41217 _localctx.exception = re;
41218 _errHandler.reportError(this, re);
41219 _errHandler.recover(this, re);
41220 }
41221 finally {
41222 exitRule();
41223 }
41224 return _localctx;
41225 }
41226
41227 public static class GrantContext extends ParserRuleContext {
41228 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
41229 public GrantClassPrivilegesClauseContext grantClassPrivilegesClause() {
41230 return getRuleContext(GrantClassPrivilegesClauseContext.class,0);
41231 }
41232 public GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() {
41233 return getRuleContext(GrantClassTypePrivilegesClauseContext.class,0);
41234 }
41235 public GrantContext(ParserRuleContext parent, int invokingState) {
41236 super(parent, invokingState);
41237 }
41238 @Override public int getRuleIndex() { return RULE_grant; }
41239 @Override
41240 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41241 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrant(this);
41242 else return visitor.visitChildren(this);
41243 }
41244 }
41245
41246 public final GrantContext grant() throws RecognitionException {
41247 GrantContext _localctx = new GrantContext(_ctx, getState());
41248 enterRule(_localctx, 794, RULE_grant);
41249 try {
41250 enterOuterAlt(_localctx, 1);
41251 {
41252 setState(5706);
41253 match(GRANT);
41254 setState(5709);
41255 _errHandler.sync(this);
41256 switch ( getInterpreter().adaptivePredict(_input,664,_ctx) ) {
41257 case 1:
41258 {
41259 setState(5707);
41260 grantClassPrivilegesClause();
41261 }
41262 break;
41263 case 2:
41264 {
41265 setState(5708);
41266 grantClassTypePrivilegesClause();
41267 }
41268 break;
41269 }
41270 }
41271 }
41272 catch (RecognitionException re) {
41273 _localctx.exception = re;
41274 _errHandler.reportError(this, re);
41275 _errHandler.recover(this, re);
41276 }
41277 finally {
41278 exitRule();
41279 }
41280 return _localctx;
41281 }
41282
41283 public static class GrantClassPrivilegesClauseContext extends ParserRuleContext {
41284 public ClassPrivilegesContext classPrivileges() {
41285 return getRuleContext(ClassPrivilegesContext.class,0);
41286 }
41287 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
41288 public List<PrincipalContext> principal() {
41289 return getRuleContexts(PrincipalContext.class);
41290 }
41291 public PrincipalContext principal(int i) {
41292 return getRuleContext(PrincipalContext.class,i);
41293 }
41294 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
41295 public OnClassClauseContext onClassClause() {
41296 return getRuleContext(OnClassClauseContext.class,0);
41297 }
41298 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41299 public TerminalNode COMMA_(int i) {
41300 return getToken(SQLServerStatementParser.COMMA_, i);
41301 }
41302 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
41303 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
41304 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
41305 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
41306 public GrantClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
41307 super(parent, invokingState);
41308 }
41309 @Override public int getRuleIndex() { return RULE_grantClassPrivilegesClause; }
41310 @Override
41311 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41312 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassPrivilegesClause(this);
41313 else return visitor.visitChildren(this);
41314 }
41315 }
41316
41317 public final GrantClassPrivilegesClauseContext grantClassPrivilegesClause() throws RecognitionException {
41318 GrantClassPrivilegesClauseContext _localctx = new GrantClassPrivilegesClauseContext(_ctx, getState());
41319 enterRule(_localctx, 796, RULE_grantClassPrivilegesClause);
41320 int _la;
41321 try {
41322 enterOuterAlt(_localctx, 1);
41323 {
41324 setState(5711);
41325 classPrivileges();
41326 setState(5714);
41327 _errHandler.sync(this);
41328 _la = _input.LA(1);
41329 if (_la==ON) {
41330 {
41331 setState(5712);
41332 match(ON);
41333 setState(5713);
41334 onClassClause();
41335 }
41336 }
41337
41338 setState(5716);
41339 match(TO);
41340 setState(5717);
41341 principal();
41342 setState(5722);
41343 _errHandler.sync(this);
41344 _la = _input.LA(1);
41345 while (_la==COMMA_) {
41346 {
41347 {
41348 setState(5718);
41349 match(COMMA_);
41350 setState(5719);
41351 principal();
41352 }
41353 }
41354 setState(5724);
41355 _errHandler.sync(this);
41356 _la = _input.LA(1);
41357 }
41358 setState(5728);
41359 _errHandler.sync(this);
41360 _la = _input.LA(1);
41361 if (_la==WITH) {
41362 {
41363 setState(5725);
41364 match(WITH);
41365 setState(5726);
41366 match(GRANT);
41367 setState(5727);
41368 match(OPTION);
41369 }
41370 }
41371
41372 setState(5732);
41373 _errHandler.sync(this);
41374 _la = _input.LA(1);
41375 if (_la==AS) {
41376 {
41377 setState(5730);
41378 match(AS);
41379 setState(5731);
41380 principal();
41381 }
41382 }
41383
41384 }
41385 }
41386 catch (RecognitionException re) {
41387 _localctx.exception = re;
41388 _errHandler.reportError(this, re);
41389 _errHandler.recover(this, re);
41390 }
41391 finally {
41392 exitRule();
41393 }
41394 return _localctx;
41395 }
41396
41397 public static class GrantClassTypePrivilegesClauseContext extends ParserRuleContext {
41398 public ClassTypePrivilegesContext classTypePrivileges() {
41399 return getRuleContext(ClassTypePrivilegesContext.class,0);
41400 }
41401 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
41402 public List<PrincipalContext> principal() {
41403 return getRuleContexts(PrincipalContext.class);
41404 }
41405 public PrincipalContext principal(int i) {
41406 return getRuleContext(PrincipalContext.class,i);
41407 }
41408 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
41409 public OnClassTypeClauseContext onClassTypeClause() {
41410 return getRuleContext(OnClassTypeClauseContext.class,0);
41411 }
41412 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41413 public TerminalNode COMMA_(int i) {
41414 return getToken(SQLServerStatementParser.COMMA_, i);
41415 }
41416 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
41417 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
41418 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
41419 public GrantClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
41420 super(parent, invokingState);
41421 }
41422 @Override public int getRuleIndex() { return RULE_grantClassTypePrivilegesClause; }
41423 @Override
41424 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41425 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassTypePrivilegesClause(this);
41426 else return visitor.visitChildren(this);
41427 }
41428 }
41429
41430 public final GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() throws RecognitionException {
41431 GrantClassTypePrivilegesClauseContext _localctx = new GrantClassTypePrivilegesClauseContext(_ctx, getState());
41432 enterRule(_localctx, 798, RULE_grantClassTypePrivilegesClause);
41433 int _la;
41434 try {
41435 enterOuterAlt(_localctx, 1);
41436 {
41437 setState(5734);
41438 classTypePrivileges();
41439 setState(5737);
41440 _errHandler.sync(this);
41441 _la = _input.LA(1);
41442 if (_la==ON) {
41443 {
41444 setState(5735);
41445 match(ON);
41446 setState(5736);
41447 onClassTypeClause();
41448 }
41449 }
41450
41451 setState(5739);
41452 match(TO);
41453 setState(5740);
41454 principal();
41455 setState(5745);
41456 _errHandler.sync(this);
41457 _la = _input.LA(1);
41458 while (_la==COMMA_) {
41459 {
41460 {
41461 setState(5741);
41462 match(COMMA_);
41463 setState(5742);
41464 principal();
41465 }
41466 }
41467 setState(5747);
41468 _errHandler.sync(this);
41469 _la = _input.LA(1);
41470 }
41471 setState(5751);
41472 _errHandler.sync(this);
41473 _la = _input.LA(1);
41474 if (_la==WITH) {
41475 {
41476 setState(5748);
41477 match(WITH);
41478 setState(5749);
41479 match(GRANT);
41480 setState(5750);
41481 match(OPTION);
41482 }
41483 }
41484
41485 }
41486 }
41487 catch (RecognitionException re) {
41488 _localctx.exception = re;
41489 _errHandler.reportError(this, re);
41490 _errHandler.recover(this, re);
41491 }
41492 finally {
41493 exitRule();
41494 }
41495 return _localctx;
41496 }
41497
41498 public static class ClassPrivilegesContext extends ParserRuleContext {
41499 public List<PrivilegeTypeContext> privilegeType() {
41500 return getRuleContexts(PrivilegeTypeContext.class);
41501 }
41502 public PrivilegeTypeContext privilegeType(int i) {
41503 return getRuleContext(PrivilegeTypeContext.class,i);
41504 }
41505 public List<ColumnNamesContext> columnNames() {
41506 return getRuleContexts(ColumnNamesContext.class);
41507 }
41508 public ColumnNamesContext columnNames(int i) {
41509 return getRuleContext(ColumnNamesContext.class,i);
41510 }
41511 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41512 public TerminalNode COMMA_(int i) {
41513 return getToken(SQLServerStatementParser.COMMA_, i);
41514 }
41515 public ClassPrivilegesContext(ParserRuleContext parent, int invokingState) {
41516 super(parent, invokingState);
41517 }
41518 @Override public int getRuleIndex() { return RULE_classPrivileges; }
41519 @Override
41520 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41521 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassPrivileges(this);
41522 else return visitor.visitChildren(this);
41523 }
41524 }
41525
41526 public final ClassPrivilegesContext classPrivileges() throws RecognitionException {
41527 ClassPrivilegesContext _localctx = new ClassPrivilegesContext(_ctx, getState());
41528 enterRule(_localctx, 800, RULE_classPrivileges);
41529 int _la;
41530 try {
41531 enterOuterAlt(_localctx, 1);
41532 {
41533 setState(5753);
41534 privilegeType();
41535 setState(5755);
41536 _errHandler.sync(this);
41537 _la = _input.LA(1);
41538 if (_la==LP_) {
41539 {
41540 setState(5754);
41541 columnNames();
41542 }
41543 }
41544
41545 setState(5764);
41546 _errHandler.sync(this);
41547 _la = _input.LA(1);
41548 while (_la==COMMA_) {
41549 {
41550 {
41551 setState(5757);
41552 match(COMMA_);
41553 setState(5758);
41554 privilegeType();
41555 setState(5760);
41556 _errHandler.sync(this);
41557 _la = _input.LA(1);
41558 if (_la==LP_) {
41559 {
41560 setState(5759);
41561 columnNames();
41562 }
41563 }
41564
41565 }
41566 }
41567 setState(5766);
41568 _errHandler.sync(this);
41569 _la = _input.LA(1);
41570 }
41571 }
41572 }
41573 catch (RecognitionException re) {
41574 _localctx.exception = re;
41575 _errHandler.reportError(this, re);
41576 _errHandler.recover(this, re);
41577 }
41578 finally {
41579 exitRule();
41580 }
41581 return _localctx;
41582 }
41583
41584 public static class OnClassClauseContext extends ParserRuleContext {
41585 public SecurableContext securable() {
41586 return getRuleContext(SecurableContext.class,0);
41587 }
41588 public ClassItemContext classItem() {
41589 return getRuleContext(ClassItemContext.class,0);
41590 }
41591 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
41592 public TerminalNode COLON_(int i) {
41593 return getToken(SQLServerStatementParser.COLON_, i);
41594 }
41595 public OnClassClauseContext(ParserRuleContext parent, int invokingState) {
41596 super(parent, invokingState);
41597 }
41598 @Override public int getRuleIndex() { return RULE_onClassClause; }
41599 @Override
41600 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41601 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassClause(this);
41602 else return visitor.visitChildren(this);
41603 }
41604 }
41605
41606 public final OnClassClauseContext onClassClause() throws RecognitionException {
41607 OnClassClauseContext _localctx = new OnClassClauseContext(_ctx, getState());
41608 enterRule(_localctx, 802, RULE_onClassClause);
41609 try {
41610 enterOuterAlt(_localctx, 1);
41611 {
41612 setState(5771);
41613 _errHandler.sync(this);
41614 switch ( getInterpreter().adaptivePredict(_input,675,_ctx) ) {
41615 case 1:
41616 {
41617 setState(5767);
41618 classItem();
41619 setState(5768);
41620 match(COLON_);
41621 setState(5769);
41622 match(COLON_);
41623 }
41624 break;
41625 }
41626 setState(5773);
41627 securable();
41628 }
41629 }
41630 catch (RecognitionException re) {
41631 _localctx.exception = re;
41632 _errHandler.reportError(this, re);
41633 _errHandler.recover(this, re);
41634 }
41635 finally {
41636 exitRule();
41637 }
41638 return _localctx;
41639 }
41640
41641 public static class ClassTypePrivilegesContext extends ParserRuleContext {
41642 public List<PrivilegeTypeContext> privilegeType() {
41643 return getRuleContexts(PrivilegeTypeContext.class);
41644 }
41645 public PrivilegeTypeContext privilegeType(int i) {
41646 return getRuleContext(PrivilegeTypeContext.class,i);
41647 }
41648 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41649 public TerminalNode COMMA_(int i) {
41650 return getToken(SQLServerStatementParser.COMMA_, i);
41651 }
41652 public ClassTypePrivilegesContext(ParserRuleContext parent, int invokingState) {
41653 super(parent, invokingState);
41654 }
41655 @Override public int getRuleIndex() { return RULE_classTypePrivileges; }
41656 @Override
41657 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41658 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassTypePrivileges(this);
41659 else return visitor.visitChildren(this);
41660 }
41661 }
41662
41663 public final ClassTypePrivilegesContext classTypePrivileges() throws RecognitionException {
41664 ClassTypePrivilegesContext _localctx = new ClassTypePrivilegesContext(_ctx, getState());
41665 enterRule(_localctx, 804, RULE_classTypePrivileges);
41666 int _la;
41667 try {
41668 enterOuterAlt(_localctx, 1);
41669 {
41670 setState(5775);
41671 privilegeType();
41672 setState(5780);
41673 _errHandler.sync(this);
41674 _la = _input.LA(1);
41675 while (_la==COMMA_) {
41676 {
41677 {
41678 setState(5776);
41679 match(COMMA_);
41680 setState(5777);
41681 privilegeType();
41682 }
41683 }
41684 setState(5782);
41685 _errHandler.sync(this);
41686 _la = _input.LA(1);
41687 }
41688 }
41689 }
41690 catch (RecognitionException re) {
41691 _localctx.exception = re;
41692 _errHandler.reportError(this, re);
41693 _errHandler.recover(this, re);
41694 }
41695 finally {
41696 exitRule();
41697 }
41698 return _localctx;
41699 }
41700
41701 public static class OnClassTypeClauseContext extends ParserRuleContext {
41702 public SecurableContext securable() {
41703 return getRuleContext(SecurableContext.class,0);
41704 }
41705 public ClassTypeContext classType() {
41706 return getRuleContext(ClassTypeContext.class,0);
41707 }
41708 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
41709 public TerminalNode COLON_(int i) {
41710 return getToken(SQLServerStatementParser.COLON_, i);
41711 }
41712 public OnClassTypeClauseContext(ParserRuleContext parent, int invokingState) {
41713 super(parent, invokingState);
41714 }
41715 @Override public int getRuleIndex() { return RULE_onClassTypeClause; }
41716 @Override
41717 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41718 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassTypeClause(this);
41719 else return visitor.visitChildren(this);
41720 }
41721 }
41722
41723 public final OnClassTypeClauseContext onClassTypeClause() throws RecognitionException {
41724 OnClassTypeClauseContext _localctx = new OnClassTypeClauseContext(_ctx, getState());
41725 enterRule(_localctx, 806, RULE_onClassTypeClause);
41726 try {
41727 enterOuterAlt(_localctx, 1);
41728 {
41729 setState(5787);
41730 _errHandler.sync(this);
41731 switch ( getInterpreter().adaptivePredict(_input,677,_ctx) ) {
41732 case 1:
41733 {
41734 setState(5783);
41735 classType();
41736 setState(5784);
41737 match(COLON_);
41738 setState(5785);
41739 match(COLON_);
41740 }
41741 break;
41742 }
41743 setState(5789);
41744 securable();
41745 }
41746 }
41747 catch (RecognitionException re) {
41748 _localctx.exception = re;
41749 _errHandler.reportError(this, re);
41750 _errHandler.recover(this, re);
41751 }
41752 finally {
41753 exitRule();
41754 }
41755 return _localctx;
41756 }
41757
41758 public static class SecurableContext extends ParserRuleContext {
41759 public NameContext name() {
41760 return getRuleContext(NameContext.class,0);
41761 }
41762 public OwnerContext owner() {
41763 return getRuleContext(OwnerContext.class,0);
41764 }
41765 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
41766 public SecurableContext(ParserRuleContext parent, int invokingState) {
41767 super(parent, invokingState);
41768 }
41769 @Override public int getRuleIndex() { return RULE_securable; }
41770 @Override
41771 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41772 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSecurable(this);
41773 else return visitor.visitChildren(this);
41774 }
41775 }
41776
41777 public final SecurableContext securable() throws RecognitionException {
41778 SecurableContext _localctx = new SecurableContext(_ctx, getState());
41779 enterRule(_localctx, 808, RULE_securable);
41780 try {
41781 enterOuterAlt(_localctx, 1);
41782 {
41783 setState(5794);
41784 _errHandler.sync(this);
41785 switch ( getInterpreter().adaptivePredict(_input,678,_ctx) ) {
41786 case 1:
41787 {
41788 setState(5791);
41789 owner();
41790 setState(5792);
41791 match(DOT_);
41792 }
41793 break;
41794 }
41795 setState(5796);
41796 name();
41797 }
41798 }
41799 catch (RecognitionException re) {
41800 _localctx.exception = re;
41801 _errHandler.reportError(this, re);
41802 _errHandler.recover(this, re);
41803 }
41804 finally {
41805 exitRule();
41806 }
41807 return _localctx;
41808 }
41809
41810 public static class PrincipalContext extends ParserRuleContext {
41811 public UserNameContext userName() {
41812 return getRuleContext(UserNameContext.class,0);
41813 }
41814 public PrincipalContext(ParserRuleContext parent, int invokingState) {
41815 super(parent, invokingState);
41816 }
41817 @Override public int getRuleIndex() { return RULE_principal; }
41818 @Override
41819 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41820 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrincipal(this);
41821 else return visitor.visitChildren(this);
41822 }
41823 }
41824
41825 public final PrincipalContext principal() throws RecognitionException {
41826 PrincipalContext _localctx = new PrincipalContext(_ctx, getState());
41827 enterRule(_localctx, 810, RULE_principal);
41828 try {
41829 enterOuterAlt(_localctx, 1);
41830 {
41831 setState(5798);
41832 userName();
41833 }
41834 }
41835 catch (RecognitionException re) {
41836 _localctx.exception = re;
41837 _errHandler.reportError(this, re);
41838 _errHandler.recover(this, re);
41839 }
41840 finally {
41841 exitRule();
41842 }
41843 return _localctx;
41844 }
41845
41846 public static class RevokeContext extends ParserRuleContext {
41847 public TerminalNode REVOKE() { return getToken(SQLServerStatementParser.REVOKE, 0); }
41848 public RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() {
41849 return getRuleContext(RevokeClassPrivilegesClauseContext.class,0);
41850 }
41851 public RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() {
41852 return getRuleContext(RevokeClassTypePrivilegesClauseContext.class,0);
41853 }
41854 public OptionForClauseContext optionForClause() {
41855 return getRuleContext(OptionForClauseContext.class,0);
41856 }
41857 public RevokeContext(ParserRuleContext parent, int invokingState) {
41858 super(parent, invokingState);
41859 }
41860 @Override public int getRuleIndex() { return RULE_revoke; }
41861 @Override
41862 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41863 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevoke(this);
41864 else return visitor.visitChildren(this);
41865 }
41866 }
41867
41868 public final RevokeContext revoke() throws RecognitionException {
41869 RevokeContext _localctx = new RevokeContext(_ctx, getState());
41870 enterRule(_localctx, 812, RULE_revoke);
41871 int _la;
41872 try {
41873 enterOuterAlt(_localctx, 1);
41874 {
41875 setState(5800);
41876 match(REVOKE);
41877 setState(5806);
41878 _errHandler.sync(this);
41879 switch ( getInterpreter().adaptivePredict(_input,680,_ctx) ) {
41880 case 1:
41881 {
41882 setState(5802);
41883 _errHandler.sync(this);
41884 _la = _input.LA(1);
41885 if (_la==GRANT) {
41886 {
41887 setState(5801);
41888 optionForClause();
41889 }
41890 }
41891
41892 setState(5804);
41893 revokeClassPrivilegesClause();
41894 }
41895 break;
41896 case 2:
41897 {
41898 setState(5805);
41899 revokeClassTypePrivilegesClause();
41900 }
41901 break;
41902 }
41903 }
41904 }
41905 catch (RecognitionException re) {
41906 _localctx.exception = re;
41907 _errHandler.reportError(this, re);
41908 _errHandler.recover(this, re);
41909 }
41910 finally {
41911 exitRule();
41912 }
41913 return _localctx;
41914 }
41915
41916 public static class RevokeClassPrivilegesClauseContext extends ParserRuleContext {
41917 public ClassPrivilegesContext classPrivileges() {
41918 return getRuleContext(ClassPrivilegesContext.class,0);
41919 }
41920 public List<PrincipalContext> principal() {
41921 return getRuleContexts(PrincipalContext.class);
41922 }
41923 public PrincipalContext principal(int i) {
41924 return getRuleContext(PrincipalContext.class,i);
41925 }
41926 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
41927 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
41928 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
41929 public OnClassClauseContext onClassClause() {
41930 return getRuleContext(OnClassClauseContext.class,0);
41931 }
41932 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41933 public TerminalNode COMMA_(int i) {
41934 return getToken(SQLServerStatementParser.COMMA_, i);
41935 }
41936 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
41937 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
41938 public RevokeClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
41939 super(parent, invokingState);
41940 }
41941 @Override public int getRuleIndex() { return RULE_revokeClassPrivilegesClause; }
41942 @Override
41943 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41944 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassPrivilegesClause(this);
41945 else return visitor.visitChildren(this);
41946 }
41947 }
41948
41949 public final RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() throws RecognitionException {
41950 RevokeClassPrivilegesClauseContext _localctx = new RevokeClassPrivilegesClauseContext(_ctx, getState());
41951 enterRule(_localctx, 814, RULE_revokeClassPrivilegesClause);
41952 int _la;
41953 try {
41954 enterOuterAlt(_localctx, 1);
41955 {
41956 setState(5808);
41957 classPrivileges();
41958 setState(5811);
41959 _errHandler.sync(this);
41960 _la = _input.LA(1);
41961 if (_la==ON) {
41962 {
41963 setState(5809);
41964 match(ON);
41965 setState(5810);
41966 onClassClause();
41967 }
41968 }
41969
41970 setState(5813);
41971 _la = _input.LA(1);
41972 if ( !(_la==FROM || _la==TO) ) {
41973 _errHandler.recoverInline(this);
41974 }
41975 else {
41976 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41977 _errHandler.reportMatch(this);
41978 consume();
41979 }
41980 setState(5814);
41981 principal();
41982 setState(5819);
41983 _errHandler.sync(this);
41984 _la = _input.LA(1);
41985 while (_la==COMMA_) {
41986 {
41987 {
41988 setState(5815);
41989 match(COMMA_);
41990 setState(5816);
41991 principal();
41992 }
41993 }
41994 setState(5821);
41995 _errHandler.sync(this);
41996 _la = _input.LA(1);
41997 }
41998 setState(5823);
41999 _errHandler.sync(this);
42000 _la = _input.LA(1);
42001 if (_la==CASCADE) {
42002 {
42003 setState(5822);
42004 match(CASCADE);
42005 }
42006 }
42007
42008 setState(5827);
42009 _errHandler.sync(this);
42010 _la = _input.LA(1);
42011 if (_la==AS) {
42012 {
42013 setState(5825);
42014 match(AS);
42015 setState(5826);
42016 principal();
42017 }
42018 }
42019
42020 }
42021 }
42022 catch (RecognitionException re) {
42023 _localctx.exception = re;
42024 _errHandler.reportError(this, re);
42025 _errHandler.recover(this, re);
42026 }
42027 finally {
42028 exitRule();
42029 }
42030 return _localctx;
42031 }
42032
42033 public static class RevokeClassTypePrivilegesClauseContext extends ParserRuleContext {
42034 public ClassTypePrivilegesContext classTypePrivileges() {
42035 return getRuleContext(ClassTypePrivilegesContext.class,0);
42036 }
42037 public List<PrincipalContext> principal() {
42038 return getRuleContexts(PrincipalContext.class);
42039 }
42040 public PrincipalContext principal(int i) {
42041 return getRuleContext(PrincipalContext.class,i);
42042 }
42043 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42044 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
42045 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42046 public OnClassTypeClauseContext onClassTypeClause() {
42047 return getRuleContext(OnClassTypeClauseContext.class,0);
42048 }
42049 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42050 public TerminalNode COMMA_(int i) {
42051 return getToken(SQLServerStatementParser.COMMA_, i);
42052 }
42053 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
42054 public RevokeClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42055 super(parent, invokingState);
42056 }
42057 @Override public int getRuleIndex() { return RULE_revokeClassTypePrivilegesClause; }
42058 @Override
42059 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42060 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassTypePrivilegesClause(this);
42061 else return visitor.visitChildren(this);
42062 }
42063 }
42064
42065 public final RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() throws RecognitionException {
42066 RevokeClassTypePrivilegesClauseContext _localctx = new RevokeClassTypePrivilegesClauseContext(_ctx, getState());
42067 enterRule(_localctx, 816, RULE_revokeClassTypePrivilegesClause);
42068 int _la;
42069 try {
42070 enterOuterAlt(_localctx, 1);
42071 {
42072 setState(5829);
42073 classTypePrivileges();
42074 setState(5832);
42075 _errHandler.sync(this);
42076 _la = _input.LA(1);
42077 if (_la==ON) {
42078 {
42079 setState(5830);
42080 match(ON);
42081 setState(5831);
42082 onClassTypeClause();
42083 }
42084 }
42085
42086 setState(5834);
42087 _la = _input.LA(1);
42088 if ( !(_la==FROM || _la==TO) ) {
42089 _errHandler.recoverInline(this);
42090 }
42091 else {
42092 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42093 _errHandler.reportMatch(this);
42094 consume();
42095 }
42096 setState(5835);
42097 principal();
42098 setState(5840);
42099 _errHandler.sync(this);
42100 _la = _input.LA(1);
42101 while (_la==COMMA_) {
42102 {
42103 {
42104 setState(5836);
42105 match(COMMA_);
42106 setState(5837);
42107 principal();
42108 }
42109 }
42110 setState(5842);
42111 _errHandler.sync(this);
42112 _la = _input.LA(1);
42113 }
42114 setState(5844);
42115 _errHandler.sync(this);
42116 _la = _input.LA(1);
42117 if (_la==CASCADE) {
42118 {
42119 setState(5843);
42120 match(CASCADE);
42121 }
42122 }
42123
42124 }
42125 }
42126 catch (RecognitionException re) {
42127 _localctx.exception = re;
42128 _errHandler.reportError(this, re);
42129 _errHandler.recover(this, re);
42130 }
42131 finally {
42132 exitRule();
42133 }
42134 return _localctx;
42135 }
42136
42137 public static class DenyContext extends ParserRuleContext {
42138 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
42139 public DenyClassPrivilegesClauseContext denyClassPrivilegesClause() {
42140 return getRuleContext(DenyClassPrivilegesClauseContext.class,0);
42141 }
42142 public DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() {
42143 return getRuleContext(DenyClassTypePrivilegesClauseContext.class,0);
42144 }
42145 public DenyContext(ParserRuleContext parent, int invokingState) {
42146 super(parent, invokingState);
42147 }
42148 @Override public int getRuleIndex() { return RULE_deny; }
42149 @Override
42150 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42151 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeny(this);
42152 else return visitor.visitChildren(this);
42153 }
42154 }
42155
42156 public final DenyContext deny() throws RecognitionException {
42157 DenyContext _localctx = new DenyContext(_ctx, getState());
42158 enterRule(_localctx, 818, RULE_deny);
42159 try {
42160 enterOuterAlt(_localctx, 1);
42161 {
42162 setState(5846);
42163 match(DENY);
42164 setState(5849);
42165 _errHandler.sync(this);
42166 switch ( getInterpreter().adaptivePredict(_input,688,_ctx) ) {
42167 case 1:
42168 {
42169 setState(5847);
42170 denyClassPrivilegesClause();
42171 }
42172 break;
42173 case 2:
42174 {
42175 setState(5848);
42176 denyClassTypePrivilegesClause();
42177 }
42178 break;
42179 }
42180 }
42181 }
42182 catch (RecognitionException re) {
42183 _localctx.exception = re;
42184 _errHandler.reportError(this, re);
42185 _errHandler.recover(this, re);
42186 }
42187 finally {
42188 exitRule();
42189 }
42190 return _localctx;
42191 }
42192
42193 public static class DenyClassPrivilegesClauseContext extends ParserRuleContext {
42194 public ClassPrivilegesContext classPrivileges() {
42195 return getRuleContext(ClassPrivilegesContext.class,0);
42196 }
42197 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42198 public List<PrincipalContext> principal() {
42199 return getRuleContexts(PrincipalContext.class);
42200 }
42201 public PrincipalContext principal(int i) {
42202 return getRuleContext(PrincipalContext.class,i);
42203 }
42204 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42205 public OnClassClauseContext onClassClause() {
42206 return getRuleContext(OnClassClauseContext.class,0);
42207 }
42208 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42209 public TerminalNode COMMA_(int i) {
42210 return getToken(SQLServerStatementParser.COMMA_, i);
42211 }
42212 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
42213 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
42214 public DenyClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42215 super(parent, invokingState);
42216 }
42217 @Override public int getRuleIndex() { return RULE_denyClassPrivilegesClause; }
42218 @Override
42219 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42220 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassPrivilegesClause(this);
42221 else return visitor.visitChildren(this);
42222 }
42223 }
42224
42225 public final DenyClassPrivilegesClauseContext denyClassPrivilegesClause() throws RecognitionException {
42226 DenyClassPrivilegesClauseContext _localctx = new DenyClassPrivilegesClauseContext(_ctx, getState());
42227 enterRule(_localctx, 820, RULE_denyClassPrivilegesClause);
42228 int _la;
42229 try {
42230 enterOuterAlt(_localctx, 1);
42231 {
42232 setState(5851);
42233 classPrivileges();
42234 setState(5854);
42235 _errHandler.sync(this);
42236 _la = _input.LA(1);
42237 if (_la==ON) {
42238 {
42239 setState(5852);
42240 match(ON);
42241 setState(5853);
42242 onClassClause();
42243 }
42244 }
42245
42246 setState(5856);
42247 match(TO);
42248 setState(5857);
42249 principal();
42250 setState(5862);
42251 _errHandler.sync(this);
42252 _la = _input.LA(1);
42253 while (_la==COMMA_) {
42254 {
42255 {
42256 setState(5858);
42257 match(COMMA_);
42258 setState(5859);
42259 principal();
42260 }
42261 }
42262 setState(5864);
42263 _errHandler.sync(this);
42264 _la = _input.LA(1);
42265 }
42266 setState(5866);
42267 _errHandler.sync(this);
42268 _la = _input.LA(1);
42269 if (_la==CASCADE) {
42270 {
42271 setState(5865);
42272 match(CASCADE);
42273 }
42274 }
42275
42276 setState(5870);
42277 _errHandler.sync(this);
42278 _la = _input.LA(1);
42279 if (_la==AS) {
42280 {
42281 setState(5868);
42282 match(AS);
42283 setState(5869);
42284 principal();
42285 }
42286 }
42287
42288 }
42289 }
42290 catch (RecognitionException re) {
42291 _localctx.exception = re;
42292 _errHandler.reportError(this, re);
42293 _errHandler.recover(this, re);
42294 }
42295 finally {
42296 exitRule();
42297 }
42298 return _localctx;
42299 }
42300
42301 public static class DenyClassTypePrivilegesClauseContext extends ParserRuleContext {
42302 public ClassTypePrivilegesContext classTypePrivileges() {
42303 return getRuleContext(ClassTypePrivilegesContext.class,0);
42304 }
42305 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42306 public List<PrincipalContext> principal() {
42307 return getRuleContexts(PrincipalContext.class);
42308 }
42309 public PrincipalContext principal(int i) {
42310 return getRuleContext(PrincipalContext.class,i);
42311 }
42312 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42313 public OnClassTypeClauseContext onClassTypeClause() {
42314 return getRuleContext(OnClassTypeClauseContext.class,0);
42315 }
42316 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42317 public TerminalNode COMMA_(int i) {
42318 return getToken(SQLServerStatementParser.COMMA_, i);
42319 }
42320 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
42321 public DenyClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42322 super(parent, invokingState);
42323 }
42324 @Override public int getRuleIndex() { return RULE_denyClassTypePrivilegesClause; }
42325 @Override
42326 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42327 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassTypePrivilegesClause(this);
42328 else return visitor.visitChildren(this);
42329 }
42330 }
42331
42332 public final DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() throws RecognitionException {
42333 DenyClassTypePrivilegesClauseContext _localctx = new DenyClassTypePrivilegesClauseContext(_ctx, getState());
42334 enterRule(_localctx, 822, RULE_denyClassTypePrivilegesClause);
42335 int _la;
42336 try {
42337 enterOuterAlt(_localctx, 1);
42338 {
42339 setState(5872);
42340 classTypePrivileges();
42341 setState(5875);
42342 _errHandler.sync(this);
42343 _la = _input.LA(1);
42344 if (_la==ON) {
42345 {
42346 setState(5873);
42347 match(ON);
42348 setState(5874);
42349 onClassTypeClause();
42350 }
42351 }
42352
42353 setState(5877);
42354 match(TO);
42355 setState(5878);
42356 principal();
42357 setState(5883);
42358 _errHandler.sync(this);
42359 _la = _input.LA(1);
42360 while (_la==COMMA_) {
42361 {
42362 {
42363 setState(5879);
42364 match(COMMA_);
42365 setState(5880);
42366 principal();
42367 }
42368 }
42369 setState(5885);
42370 _errHandler.sync(this);
42371 _la = _input.LA(1);
42372 }
42373 setState(5887);
42374 _errHandler.sync(this);
42375 _la = _input.LA(1);
42376 if (_la==CASCADE) {
42377 {
42378 setState(5886);
42379 match(CASCADE);
42380 }
42381 }
42382
42383 }
42384 }
42385 catch (RecognitionException re) {
42386 _localctx.exception = re;
42387 _errHandler.reportError(this, re);
42388 _errHandler.recover(this, re);
42389 }
42390 finally {
42391 exitRule();
42392 }
42393 return _localctx;
42394 }
42395
42396 public static class OptionForClauseContext extends ParserRuleContext {
42397 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
42398 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
42399 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
42400 public OptionForClauseContext(ParserRuleContext parent, int invokingState) {
42401 super(parent, invokingState);
42402 }
42403 @Override public int getRuleIndex() { return RULE_optionForClause; }
42404 @Override
42405 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42406 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionForClause(this);
42407 else return visitor.visitChildren(this);
42408 }
42409 }
42410
42411 public final OptionForClauseContext optionForClause() throws RecognitionException {
42412 OptionForClauseContext _localctx = new OptionForClauseContext(_ctx, getState());
42413 enterRule(_localctx, 824, RULE_optionForClause);
42414 try {
42415 enterOuterAlt(_localctx, 1);
42416 {
42417 setState(5889);
42418 match(GRANT);
42419 setState(5890);
42420 match(OPTION);
42421 setState(5891);
42422 match(FOR);
42423 }
42424 }
42425 catch (RecognitionException re) {
42426 _localctx.exception = re;
42427 _errHandler.reportError(this, re);
42428 _errHandler.recover(this, re);
42429 }
42430 finally {
42431 exitRule();
42432 }
42433 return _localctx;
42434 }
42435
42436 public static class PrivilegeTypeContext extends ParserRuleContext {
42437 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
42438 public TerminalNode PRIVILEGES() { return getToken(SQLServerStatementParser.PRIVILEGES, 0); }
42439 public AssemblyPermissionContext assemblyPermission() {
42440 return getRuleContext(AssemblyPermissionContext.class,0);
42441 }
42442 public AsymmetricKeyPermissionContext asymmetricKeyPermission() {
42443 return getRuleContext(AsymmetricKeyPermissionContext.class,0);
42444 }
42445 public AvailabilityGroupPermissionContext availabilityGroupPermission() {
42446 return getRuleContext(AvailabilityGroupPermissionContext.class,0);
42447 }
42448 public CertificatePermissionContext certificatePermission() {
42449 return getRuleContext(CertificatePermissionContext.class,0);
42450 }
42451 public ObjectPermissionContext objectPermission() {
42452 return getRuleContext(ObjectPermissionContext.class,0);
42453 }
42454 public SystemObjectPermissionContext systemObjectPermission() {
42455 return getRuleContext(SystemObjectPermissionContext.class,0);
42456 }
42457 public DatabasePermissionContext databasePermission() {
42458 return getRuleContext(DatabasePermissionContext.class,0);
42459 }
42460 public DatabasePrincipalPermissionContext databasePrincipalPermission() {
42461 return getRuleContext(DatabasePrincipalPermissionContext.class,0);
42462 }
42463 public DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() {
42464 return getRuleContext(DatabaseScopedCredentialPermissionContext.class,0);
42465 }
42466 public EndpointPermissionContext endpointPermission() {
42467 return getRuleContext(EndpointPermissionContext.class,0);
42468 }
42469 public FullTextPermissionContext fullTextPermission() {
42470 return getRuleContext(FullTextPermissionContext.class,0);
42471 }
42472 public SchemaPermissionContext schemaPermission() {
42473 return getRuleContext(SchemaPermissionContext.class,0);
42474 }
42475 public SearchPropertyListPermissionContext searchPropertyListPermission() {
42476 return getRuleContext(SearchPropertyListPermissionContext.class,0);
42477 }
42478 public ServerPermissionContext serverPermission() {
42479 return getRuleContext(ServerPermissionContext.class,0);
42480 }
42481 public ServerPrincipalPermissionContext serverPrincipalPermission() {
42482 return getRuleContext(ServerPrincipalPermissionContext.class,0);
42483 }
42484 public ServiceBrokerPermissionContext serviceBrokerPermission() {
42485 return getRuleContext(ServiceBrokerPermissionContext.class,0);
42486 }
42487 public SymmetricKeyPermissionContext symmetricKeyPermission() {
42488 return getRuleContext(SymmetricKeyPermissionContext.class,0);
42489 }
42490 public TypePermissionContext typePermission() {
42491 return getRuleContext(TypePermissionContext.class,0);
42492 }
42493 public XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() {
42494 return getRuleContext(XmlSchemaCollectionPermissionContext.class,0);
42495 }
42496 public PrivilegeTypeContext(ParserRuleContext parent, int invokingState) {
42497 super(parent, invokingState);
42498 }
42499 @Override public int getRuleIndex() { return RULE_privilegeType; }
42500 @Override
42501 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42502 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivilegeType(this);
42503 else return visitor.visitChildren(this);
42504 }
42505 }
42506
42507 public final PrivilegeTypeContext privilegeType() throws RecognitionException {
42508 PrivilegeTypeContext _localctx = new PrivilegeTypeContext(_ctx, getState());
42509 enterRule(_localctx, 826, RULE_privilegeType);
42510 int _la;
42511 try {
42512 setState(5916);
42513 _errHandler.sync(this);
42514 switch ( getInterpreter().adaptivePredict(_input,697,_ctx) ) {
42515 case 1:
42516 enterOuterAlt(_localctx, 1);
42517 {
42518 setState(5893);
42519 match(ALL);
42520 setState(5895);
42521 _errHandler.sync(this);
42522 _la = _input.LA(1);
42523 if (_la==PRIVILEGES) {
42524 {
42525 setState(5894);
42526 match(PRIVILEGES);
42527 }
42528 }
42529
42530 }
42531 break;
42532 case 2:
42533 enterOuterAlt(_localctx, 2);
42534 {
42535 setState(5897);
42536 assemblyPermission();
42537 }
42538 break;
42539 case 3:
42540 enterOuterAlt(_localctx, 3);
42541 {
42542 setState(5898);
42543 asymmetricKeyPermission();
42544 }
42545 break;
42546 case 4:
42547 enterOuterAlt(_localctx, 4);
42548 {
42549 setState(5899);
42550 availabilityGroupPermission();
42551 }
42552 break;
42553 case 5:
42554 enterOuterAlt(_localctx, 5);
42555 {
42556 setState(5900);
42557 certificatePermission();
42558 }
42559 break;
42560 case 6:
42561 enterOuterAlt(_localctx, 6);
42562 {
42563 setState(5901);
42564 objectPermission();
42565 }
42566 break;
42567 case 7:
42568 enterOuterAlt(_localctx, 7);
42569 {
42570 setState(5902);
42571 systemObjectPermission();
42572 }
42573 break;
42574 case 8:
42575 enterOuterAlt(_localctx, 8);
42576 {
42577 setState(5903);
42578 databasePermission();
42579 }
42580 break;
42581 case 9:
42582 enterOuterAlt(_localctx, 9);
42583 {
42584 setState(5904);
42585 databasePrincipalPermission();
42586 }
42587 break;
42588 case 10:
42589 enterOuterAlt(_localctx, 10);
42590 {
42591 setState(5905);
42592 databaseScopedCredentialPermission();
42593 }
42594 break;
42595 case 11:
42596 enterOuterAlt(_localctx, 11);
42597 {
42598 setState(5906);
42599 endpointPermission();
42600 }
42601 break;
42602 case 12:
42603 enterOuterAlt(_localctx, 12);
42604 {
42605 setState(5907);
42606 fullTextPermission();
42607 }
42608 break;
42609 case 13:
42610 enterOuterAlt(_localctx, 13);
42611 {
42612 setState(5908);
42613 schemaPermission();
42614 }
42615 break;
42616 case 14:
42617 enterOuterAlt(_localctx, 14);
42618 {
42619 setState(5909);
42620 searchPropertyListPermission();
42621 }
42622 break;
42623 case 15:
42624 enterOuterAlt(_localctx, 15);
42625 {
42626 setState(5910);
42627 serverPermission();
42628 }
42629 break;
42630 case 16:
42631 enterOuterAlt(_localctx, 16);
42632 {
42633 setState(5911);
42634 serverPrincipalPermission();
42635 }
42636 break;
42637 case 17:
42638 enterOuterAlt(_localctx, 17);
42639 {
42640 setState(5912);
42641 serviceBrokerPermission();
42642 }
42643 break;
42644 case 18:
42645 enterOuterAlt(_localctx, 18);
42646 {
42647 setState(5913);
42648 symmetricKeyPermission();
42649 }
42650 break;
42651 case 19:
42652 enterOuterAlt(_localctx, 19);
42653 {
42654 setState(5914);
42655 typePermission();
42656 }
42657 break;
42658 case 20:
42659 enterOuterAlt(_localctx, 20);
42660 {
42661 setState(5915);
42662 xmlSchemaCollectionPermission();
42663 }
42664 break;
42665 }
42666 }
42667 catch (RecognitionException re) {
42668 _localctx.exception = re;
42669 _errHandler.reportError(this, re);
42670 _errHandler.recover(this, re);
42671 }
42672 finally {
42673 exitRule();
42674 }
42675 return _localctx;
42676 }
42677
42678 public static class ObjectPermissionContext extends ParserRuleContext {
42679 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
42680 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
42681 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
42682 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
42683 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
42684 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
42685 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
42686 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
42687 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
42688 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
42689 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
42690 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
42691 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
42692 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
42693 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
42694 public ObjectPermissionContext(ParserRuleContext parent, int invokingState) {
42695 super(parent, invokingState);
42696 }
42697 @Override public int getRuleIndex() { return RULE_objectPermission; }
42698 @Override
42699 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42700 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitObjectPermission(this);
42701 else return visitor.visitChildren(this);
42702 }
42703 }
42704
42705 public final ObjectPermissionContext objectPermission() throws RecognitionException {
42706 ObjectPermissionContext _localctx = new ObjectPermissionContext(_ctx, getState());
42707 enterRule(_localctx, 828, RULE_objectPermission);
42708 try {
42709 setState(5934);
42710 _errHandler.sync(this);
42711 switch ( getInterpreter().adaptivePredict(_input,698,_ctx) ) {
42712 case 1:
42713 enterOuterAlt(_localctx, 1);
42714 {
42715 setState(5918);
42716 match(ALTER);
42717 }
42718 break;
42719 case 2:
42720 enterOuterAlt(_localctx, 2);
42721 {
42722 setState(5919);
42723 match(CONTROL);
42724 }
42725 break;
42726 case 3:
42727 enterOuterAlt(_localctx, 3);
42728 {
42729 setState(5920);
42730 match(DELETE);
42731 }
42732 break;
42733 case 4:
42734 enterOuterAlt(_localctx, 4);
42735 {
42736 setState(5921);
42737 match(EXECUTE);
42738 }
42739 break;
42740 case 5:
42741 enterOuterAlt(_localctx, 5);
42742 {
42743 setState(5922);
42744 match(INSERT);
42745 }
42746 break;
42747 case 6:
42748 enterOuterAlt(_localctx, 6);
42749 {
42750 setState(5923);
42751 match(RECEIVE);
42752 }
42753 break;
42754 case 7:
42755 enterOuterAlt(_localctx, 7);
42756 {
42757 setState(5924);
42758 match(REFERENCES);
42759 }
42760 break;
42761 case 8:
42762 enterOuterAlt(_localctx, 8);
42763 {
42764 setState(5925);
42765 match(SELECT);
42766 }
42767 break;
42768 case 9:
42769 enterOuterAlt(_localctx, 9);
42770 {
42771 setState(5926);
42772 match(TAKE);
42773 setState(5927);
42774 match(OWNERSHIP);
42775 }
42776 break;
42777 case 10:
42778 enterOuterAlt(_localctx, 10);
42779 {
42780 setState(5928);
42781 match(UPDATE);
42782 }
42783 break;
42784 case 11:
42785 enterOuterAlt(_localctx, 11);
42786 {
42787 setState(5929);
42788 match(VIEW);
42789 setState(5930);
42790 match(CHANGE);
42791 setState(5931);
42792 match(TRACKING);
42793 }
42794 break;
42795 case 12:
42796 enterOuterAlt(_localctx, 12);
42797 {
42798 setState(5932);
42799 match(VIEW);
42800 setState(5933);
42801 match(DEFINITION);
42802 }
42803 break;
42804 }
42805 }
42806 catch (RecognitionException re) {
42807 _localctx.exception = re;
42808 _errHandler.reportError(this, re);
42809 _errHandler.recover(this, re);
42810 }
42811 finally {
42812 exitRule();
42813 }
42814 return _localctx;
42815 }
42816
42817 public static class ServerPermissionContext extends ParserRuleContext {
42818 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
42819 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
42820 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
42821 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
42822 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
42823 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
42824 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
42825 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
42826 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
42827 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
42828 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
42829 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
42830 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
42831 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
42832 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
42833 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
42834 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
42835 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
42836 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
42837 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
42838 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
42839 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
42840 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
42841 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
42842 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
42843 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
42844 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
42845 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
42846 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
42847 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
42848 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
42849 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
42850 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
42851 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
42852 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
42853 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
42854 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
42855 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
42856 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
42857 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
42858 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
42859 public ServerPermissionContext(ParserRuleContext parent, int invokingState) {
42860 super(parent, invokingState);
42861 }
42862 @Override public int getRuleIndex() { return RULE_serverPermission; }
42863 @Override
42864 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42865 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPermission(this);
42866 else return visitor.visitChildren(this);
42867 }
42868 }
42869
42870 public final ServerPermissionContext serverPermission() throws RecognitionException {
42871 ServerPermissionContext _localctx = new ServerPermissionContext(_ctx, getState());
42872 enterRule(_localctx, 830, RULE_serverPermission);
42873 int _la;
42874 try {
42875 setState(6013);
42876 _errHandler.sync(this);
42877 switch ( getInterpreter().adaptivePredict(_input,702,_ctx) ) {
42878 case 1:
42879 enterOuterAlt(_localctx, 1);
42880 {
42881 setState(5936);
42882 match(ADMINISTER);
42883 setState(5937);
42884 match(BULK);
42885 setState(5938);
42886 match(OPERATIONS);
42887 }
42888 break;
42889 case 2:
42890 enterOuterAlt(_localctx, 2);
42891 {
42892 setState(5939);
42893 match(ALTER);
42894 setState(5945);
42895 _errHandler.sync(this);
42896 switch (_input.LA(1)) {
42897 case RESOURCES:
42898 {
42899 setState(5940);
42900 match(RESOURCES);
42901 }
42902 break;
42903 case SETTINGS:
42904 {
42905 setState(5941);
42906 match(SETTINGS);
42907 }
42908 break;
42909 case TRACE:
42910 {
42911 setState(5942);
42912 match(TRACE);
42913 }
42914 break;
42915 case SERVER:
42916 {
42917 setState(5943);
42918 match(SERVER);
42919 setState(5944);
42920 match(STATE);
42921 }
42922 break;
42923 default:
42924 throw new NoViableAltException(this);
42925 }
42926 }
42927 break;
42928 case 3:
42929 enterOuterAlt(_localctx, 3);
42930 {
42931 setState(5947);
42932 match(ALTER);
42933 setState(5948);
42934 match(ANY);
42935 setState(5966);
42936 _errHandler.sync(this);
42937 switch ( getInterpreter().adaptivePredict(_input,700,_ctx) ) {
42938 case 1:
42939 {
42940 setState(5949);
42941 match(AVAILABILITY);
42942 setState(5950);
42943 match(GROUP);
42944 }
42945 break;
42946 case 2:
42947 {
42948 setState(5951);
42949 match(CONNECTION);
42950 }
42951 break;
42952 case 3:
42953 {
42954 setState(5952);
42955 match(CREDENTIAL);
42956 }
42957 break;
42958 case 4:
42959 {
42960 setState(5953);
42961 match(DATABASE);
42962 }
42963 break;
42964 case 5:
42965 {
42966 setState(5954);
42967 match(ENDPOINT);
42968 }
42969 break;
42970 case 6:
42971 {
42972 setState(5955);
42973 match(EVENT);
42974 setState(5956);
42975 match(NOTIFICATION);
42976 }
42977 break;
42978 case 7:
42979 {
42980 setState(5957);
42981 match(EVENT);
42982 setState(5958);
42983 match(SESSION);
42984 }
42985 break;
42986 case 8:
42987 {
42988 setState(5959);
42989 match(LINKED);
42990 setState(5960);
42991 match(SERVER);
42992 }
42993 break;
42994 case 9:
42995 {
42996 setState(5961);
42997 match(LOGIN);
42998 }
42999 break;
43000 case 10:
43001 {
43002 setState(5962);
43003 match(SERVER);
43004 setState(5963);
43005 match(AUDIT);
43006 }
43007 break;
43008 case 11:
43009 {
43010 setState(5964);
43011 match(SERVER);
43012 setState(5965);
43013 match(ROLE);
43014 }
43015 break;
43016 }
43017 }
43018 break;
43019 case 4:
43020 enterOuterAlt(_localctx, 4);
43021 {
43022 setState(5968);
43023 match(AUTHENTICATE);
43024 setState(5969);
43025 match(SERVER);
43026 }
43027 break;
43028 case 5:
43029 enterOuterAlt(_localctx, 5);
43030 {
43031 setState(5970);
43032 match(CONNECT);
43033 setState(5971);
43034 match(ANY);
43035 setState(5972);
43036 match(DATABASE);
43037 }
43038 break;
43039 case 6:
43040 enterOuterAlt(_localctx, 6);
43041 {
43042 setState(5973);
43043 match(CONNECT);
43044 setState(5974);
43045 match(SQL);
43046 }
43047 break;
43048 case 7:
43049 enterOuterAlt(_localctx, 7);
43050 {
43051 setState(5975);
43052 match(CONTROL);
43053 setState(5976);
43054 match(SERVER);
43055 }
43056 break;
43057 case 8:
43058 enterOuterAlt(_localctx, 8);
43059 {
43060 setState(5977);
43061 match(CREATE);
43062 setState(5978);
43063 match(ANY);
43064 setState(5979);
43065 match(DATABASE);
43066 }
43067 break;
43068 case 9:
43069 enterOuterAlt(_localctx, 9);
43070 {
43071 setState(5980);
43072 match(CREATE);
43073 setState(5992);
43074 _errHandler.sync(this);
43075 switch (_input.LA(1)) {
43076 case AVAILABILITY:
43077 {
43078 setState(5981);
43079 match(AVAILABILITY);
43080 setState(5982);
43081 match(GROUP);
43082 }
43083 break;
43084 case DDL:
43085 {
43086 setState(5983);
43087 match(DDL);
43088 setState(5984);
43089 match(EVENT);
43090 setState(5985);
43091 match(NOTIFICATION);
43092 }
43093 break;
43094 case ENDPOINT:
43095 {
43096 setState(5986);
43097 match(ENDPOINT);
43098 }
43099 break;
43100 case SERVER:
43101 {
43102 setState(5987);
43103 match(SERVER);
43104 setState(5988);
43105 match(ROLE);
43106 }
43107 break;
43108 case TRACE:
43109 {
43110 setState(5989);
43111 match(TRACE);
43112 setState(5990);
43113 match(EVENT);
43114 setState(5991);
43115 match(NOTIFICATION);
43116 }
43117 break;
43118 default:
43119 throw new NoViableAltException(this);
43120 }
43121 }
43122 break;
43123 case 10:
43124 enterOuterAlt(_localctx, 10);
43125 {
43126 setState(5994);
43127 match(EXTERNAL);
43128 setState(5995);
43129 match(ACCESS);
43130 setState(5996);
43131 match(ASSEMBLY);
43132 }
43133 break;
43134 case 11:
43135 enterOuterAlt(_localctx, 11);
43136 {
43137 setState(5997);
43138 match(IMPERSONATE);
43139 setState(5998);
43140 match(ANY);
43141 setState(5999);
43142 match(LOGIN);
43143 }
43144 break;
43145 case 12:
43146 enterOuterAlt(_localctx, 12);
43147 {
43148 setState(6000);
43149 match(SELECT);
43150 setState(6001);
43151 match(ALL);
43152 setState(6002);
43153 match(USER);
43154 setState(6003);
43155 match(SECURABLES);
43156 }
43157 break;
43158 case 13:
43159 enterOuterAlt(_localctx, 13);
43160 {
43161 setState(6004);
43162 match(SHUTDOWN);
43163 }
43164 break;
43165 case 14:
43166 enterOuterAlt(_localctx, 14);
43167 {
43168 setState(6005);
43169 match(UNSAFE);
43170 setState(6006);
43171 match(ASSEMBLY);
43172 }
43173 break;
43174 case 15:
43175 enterOuterAlt(_localctx, 15);
43176 {
43177 setState(6007);
43178 match(VIEW);
43179 setState(6008);
43180 match(ANY);
43181 setState(6009);
43182 _la = _input.LA(1);
43183 if ( !(_la==DATABASE || _la==DEFINITION) ) {
43184 _errHandler.recoverInline(this);
43185 }
43186 else {
43187 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43188 _errHandler.reportMatch(this);
43189 consume();
43190 }
43191 }
43192 break;
43193 case 16:
43194 enterOuterAlt(_localctx, 16);
43195 {
43196 setState(6010);
43197 match(VIEW);
43198 setState(6011);
43199 match(SERVER);
43200 setState(6012);
43201 match(STATE);
43202 }
43203 break;
43204 }
43205 }
43206 catch (RecognitionException re) {
43207 _localctx.exception = re;
43208 _errHandler.reportError(this, re);
43209 _errHandler.recover(this, re);
43210 }
43211 finally {
43212 exitRule();
43213 }
43214 return _localctx;
43215 }
43216
43217 public static class ServerPrincipalPermissionContext extends ParserRuleContext {
43218 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43219 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
43220 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
43221 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43222 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43223 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43224 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43225 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
43226 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
43227 public ServerPrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
43228 super(parent, invokingState);
43229 }
43230 @Override public int getRuleIndex() { return RULE_serverPrincipalPermission; }
43231 @Override
43232 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43233 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPrincipalPermission(this);
43234 else return visitor.visitChildren(this);
43235 }
43236 }
43237
43238 public final ServerPrincipalPermissionContext serverPrincipalPermission() throws RecognitionException {
43239 ServerPrincipalPermissionContext _localctx = new ServerPrincipalPermissionContext(_ctx, getState());
43240 enterRule(_localctx, 832, RULE_serverPrincipalPermission);
43241 int _la;
43242 try {
43243 setState(6033);
43244 _errHandler.sync(this);
43245 switch ( getInterpreter().adaptivePredict(_input,706,_ctx) ) {
43246 case 1:
43247 enterOuterAlt(_localctx, 1);
43248 {
43249 setState(6015);
43250 match(CONTROL);
43251 setState(6017);
43252 _errHandler.sync(this);
43253 _la = _input.LA(1);
43254 if (_la==SERVER) {
43255 {
43256 setState(6016);
43257 match(SERVER);
43258 }
43259 }
43260
43261 }
43262 break;
43263 case 2:
43264 enterOuterAlt(_localctx, 2);
43265 {
43266 setState(6019);
43267 match(IMPERSONATE);
43268 }
43269 break;
43270 case 3:
43271 enterOuterAlt(_localctx, 3);
43272 {
43273 setState(6020);
43274 match(VIEW);
43275 setState(6022);
43276 _errHandler.sync(this);
43277 _la = _input.LA(1);
43278 if (_la==ANY) {
43279 {
43280 setState(6021);
43281 match(ANY);
43282 }
43283 }
43284
43285 setState(6024);
43286 match(DEFINITION);
43287 }
43288 break;
43289 case 4:
43290 enterOuterAlt(_localctx, 4);
43291 {
43292 setState(6025);
43293 match(ALTER);
43294 }
43295 break;
43296 case 5:
43297 enterOuterAlt(_localctx, 5);
43298 {
43299 setState(6026);
43300 match(ALTER);
43301 setState(6027);
43302 match(ANY);
43303 setState(6031);
43304 _errHandler.sync(this);
43305 switch (_input.LA(1)) {
43306 case LOGIN:
43307 {
43308 setState(6028);
43309 match(LOGIN);
43310 }
43311 break;
43312 case SERVER:
43313 {
43314 setState(6029);
43315 match(SERVER);
43316 setState(6030);
43317 match(ROLE);
43318 }
43319 break;
43320 default:
43321 throw new NoViableAltException(this);
43322 }
43323 }
43324 break;
43325 }
43326 }
43327 catch (RecognitionException re) {
43328 _localctx.exception = re;
43329 _errHandler.reportError(this, re);
43330 _errHandler.recover(this, re);
43331 }
43332 finally {
43333 exitRule();
43334 }
43335 return _localctx;
43336 }
43337
43338 public static class DatabasePermissionContext extends ParserRuleContext {
43339 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
43340 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
43341 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
43342 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
43343 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43344 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
43345 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43346 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
43347 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
43348 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
43349 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
43350 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
43351 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
43352 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
43353 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
43354 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43355 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
43356 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
43357 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
43358 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
43359 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
43360 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
43361 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
43362 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
43363 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
43364 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
43365 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
43366 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
43367 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
43368 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
43369 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
43370 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
43371 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
43372 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
43373 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
43374 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
43375 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
43376 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
43377 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
43378 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
43379 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
43380 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
43381 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
43382 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
43383 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
43384 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
43385 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
43386 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
43387 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
43388 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
43389 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
43390 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
43391 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
43392 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
43393 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
43394 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43395 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
43396 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
43397 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
43398 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
43399 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
43400 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
43401 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
43402 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
43403 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
43404 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43405 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
43406 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
43407 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
43408 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
43409 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
43410 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
43411 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
43412 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43413 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
43414 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
43415 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
43416 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
43417 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
43418 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43419 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43420 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
43421 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
43422 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
43423 public DatabasePermissionContext(ParserRuleContext parent, int invokingState) {
43424 super(parent, invokingState);
43425 }
43426 @Override public int getRuleIndex() { return RULE_databasePermission; }
43427 @Override
43428 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43429 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePermission(this);
43430 else return visitor.visitChildren(this);
43431 }
43432 }
43433
43434 public final DatabasePermissionContext databasePermission() throws RecognitionException {
43435 DatabasePermissionContext _localctx = new DatabasePermissionContext(_ctx, getState());
43436 enterRule(_localctx, 834, RULE_databasePermission);
43437 int _la;
43438 try {
43439 setState(6202);
43440 _errHandler.sync(this);
43441 switch ( getInterpreter().adaptivePredict(_input,719,_ctx) ) {
43442 case 1:
43443 enterOuterAlt(_localctx, 1);
43444 {
43445 setState(6035);
43446 match(ADMINISTER);
43447 setState(6036);
43448 match(DATABASE);
43449 setState(6037);
43450 match(BULK);
43451 setState(6038);
43452 match(OPERATIONS);
43453 }
43454 break;
43455 case 2:
43456 enterOuterAlt(_localctx, 2);
43457 {
43458 setState(6039);
43459 match(ALTER);
43460 }
43461 break;
43462 case 3:
43463 enterOuterAlt(_localctx, 3);
43464 {
43465 setState(6040);
43466 match(ALTER);
43467 setState(6041);
43468 match(TRACE);
43469 }
43470 break;
43471 case 4:
43472 enterOuterAlt(_localctx, 4);
43473 {
43474 setState(6042);
43475 match(ALTER);
43476 setState(6043);
43477 match(ANY);
43478 setState(6101);
43479 _errHandler.sync(this);
43480 switch ( getInterpreter().adaptivePredict(_input,710,_ctx) ) {
43481 case 1:
43482 {
43483 setState(6044);
43484 match(APPLICATION);
43485 setState(6045);
43486 match(ROLE);
43487 }
43488 break;
43489 case 2:
43490 {
43491 setState(6046);
43492 match(ASSEMBLY);
43493 }
43494 break;
43495 case 3:
43496 {
43497 setState(6051);
43498 _errHandler.sync(this);
43499 switch (_input.LA(1)) {
43500 case SYMMETRIC:
43501 {
43502 setState(6047);
43503 match(SYMMETRIC);
43504 }
43505 break;
43506 case ASYMMETRIC:
43507 {
43508 setState(6048);
43509 match(ASYMMETRIC);
43510 }
43511 break;
43512 case COLUMN:
43513 {
43514 setState(6049);
43515 match(COLUMN);
43516 setState(6050);
43517 match(ENCRYPTION);
43518 }
43519 break;
43520 default:
43521 throw new NoViableAltException(this);
43522 }
43523 setState(6053);
43524 match(KEY);
43525 }
43526 break;
43527 case 4:
43528 {
43529 setState(6054);
43530 match(CERTIFICATE);
43531 }
43532 break;
43533 case 5:
43534 {
43535 setState(6055);
43536 match(CONNECTION);
43537 }
43538 break;
43539 case 6:
43540 {
43541 setState(6056);
43542 match(COLUMN);
43543 setState(6057);
43544 match(MASTER);
43545 setState(6058);
43546 match(KEY);
43547 setState(6059);
43548 match(DEFINITION);
43549 }
43550 break;
43551 case 7:
43552 {
43553 setState(6060);
43554 match(CONTRACT);
43555 }
43556 break;
43557 case 8:
43558 {
43559 setState(6061);
43560 match(DATABASE);
43561 setState(6071);
43562 _errHandler.sync(this);
43563 switch ( getInterpreter().adaptivePredict(_input,708,_ctx) ) {
43564 case 1:
43565 {
43566 setState(6062);
43567 match(AUDIT);
43568 }
43569 break;
43570 case 2:
43571 {
43572 setState(6063);
43573 match(DDL);
43574 setState(6064);
43575 match(TRIGGER);
43576 }
43577 break;
43578 case 3:
43579 {
43580 setState(6065);
43581 match(EVENT);
43582 setState(6066);
43583 match(NOTIFICATION);
43584 }
43585 break;
43586 case 4:
43587 {
43588 setState(6067);
43589 match(EVENT);
43590 setState(6068);
43591 match(SESSION);
43592 }
43593 break;
43594 case 5:
43595 {
43596 setState(6069);
43597 match(SCOPED);
43598 setState(6070);
43599 match(CONFIGURATION);
43600 }
43601 break;
43602 }
43603 }
43604 break;
43605 case 9:
43606 {
43607 setState(6073);
43608 match(DATASPACE);
43609 }
43610 break;
43611 case 10:
43612 {
43613 setState(6074);
43614 match(EVENT);
43615 setState(6075);
43616 _la = _input.LA(1);
43617 if ( !(_la==SESSION || _la==NOTIFICATION) ) {
43618 _errHandler.recoverInline(this);
43619 }
43620 else {
43621 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43622 _errHandler.reportMatch(this);
43623 consume();
43624 }
43625 }
43626 break;
43627 case 11:
43628 {
43629 setState(6076);
43630 match(EXTERNAL);
43631 setState(6082);
43632 _errHandler.sync(this);
43633 switch (_input.LA(1)) {
43634 case DATA:
43635 {
43636 setState(6077);
43637 match(DATA);
43638 setState(6078);
43639 match(SOURCE);
43640 }
43641 break;
43642 case FILE:
43643 {
43644 setState(6079);
43645 match(FILE);
43646 setState(6080);
43647 match(FORMAT);
43648 }
43649 break;
43650 case LIBRARY:
43651 {
43652 setState(6081);
43653 match(LIBRARY);
43654 }
43655 break;
43656 default:
43657 throw new NoViableAltException(this);
43658 }
43659 }
43660 break;
43661 case 12:
43662 {
43663 setState(6084);
43664 match(FULLTEXT);
43665 setState(6085);
43666 match(CATALOG);
43667 }
43668 break;
43669 case 13:
43670 {
43671 setState(6086);
43672 match(MASK);
43673 }
43674 break;
43675 case 14:
43676 {
43677 setState(6087);
43678 match(MESSAGE);
43679 setState(6088);
43680 match(TYPE);
43681 }
43682 break;
43683 case 15:
43684 {
43685 setState(6089);
43686 match(REMOTE);
43687 setState(6090);
43688 match(SERVICE);
43689 setState(6091);
43690 match(BINDING);
43691 }
43692 break;
43693 case 16:
43694 {
43695 setState(6092);
43696 match(ROLE);
43697 }
43698 break;
43699 case 17:
43700 {
43701 setState(6093);
43702 match(ROUTE);
43703 }
43704 break;
43705 case 18:
43706 {
43707 setState(6094);
43708 match(SERVER);
43709 setState(6095);
43710 match(AUDIT);
43711 }
43712 break;
43713 case 19:
43714 {
43715 setState(6096);
43716 match(SCHEMA);
43717 }
43718 break;
43719 case 20:
43720 {
43721 setState(6097);
43722 match(SECURITY);
43723 setState(6098);
43724 match(POLICY);
43725 }
43726 break;
43727 case 21:
43728 {
43729 setState(6099);
43730 match(SERVICE);
43731 }
43732 break;
43733 case 22:
43734 {
43735 setState(6100);
43736 match(USER);
43737 }
43738 break;
43739 }
43740 }
43741 break;
43742 case 5:
43743 enterOuterAlt(_localctx, 5);
43744 {
43745 setState(6103);
43746 match(AUTHENTICATE);
43747 setState(6105);
43748 _errHandler.sync(this);
43749 _la = _input.LA(1);
43750 if (_la==SERVER) {
43751 {
43752 setState(6104);
43753 match(SERVER);
43754 }
43755 }
43756
43757 }
43758 break;
43759 case 6:
43760 enterOuterAlt(_localctx, 6);
43761 {
43762 setState(6107);
43763 match(BACKUP);
43764 setState(6108);
43765 _la = _input.LA(1);
43766 if ( !(_la==DATABASE || _la==LOG) ) {
43767 _errHandler.recoverInline(this);
43768 }
43769 else {
43770 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43771 _errHandler.reportMatch(this);
43772 consume();
43773 }
43774 }
43775 break;
43776 case 7:
43777 enterOuterAlt(_localctx, 7);
43778 {
43779 setState(6109);
43780 match(CHECKPOINT);
43781 }
43782 break;
43783 case 8:
43784 enterOuterAlt(_localctx, 8);
43785 {
43786 setState(6110);
43787 match(CONNECT);
43788 }
43789 break;
43790 case 9:
43791 enterOuterAlt(_localctx, 9);
43792 {
43793 setState(6111);
43794 match(CONNECT);
43795 setState(6113);
43796 _errHandler.sync(this);
43797 _la = _input.LA(1);
43798 if (_la==REPLICATION) {
43799 {
43800 setState(6112);
43801 match(REPLICATION);
43802 }
43803 }
43804
43805 }
43806 break;
43807 case 10:
43808 enterOuterAlt(_localctx, 10);
43809 {
43810 setState(6115);
43811 match(CONTROL);
43812 setState(6117);
43813 _errHandler.sync(this);
43814 _la = _input.LA(1);
43815 if (_la==SERVER) {
43816 {
43817 setState(6116);
43818 match(SERVER);
43819 }
43820 }
43821
43822 }
43823 break;
43824 case 11:
43825 enterOuterAlt(_localctx, 11);
43826 {
43827 setState(6119);
43828 match(CREATE);
43829 setState(6156);
43830 _errHandler.sync(this);
43831 switch ( getInterpreter().adaptivePredict(_input,715,_ctx) ) {
43832 case 1:
43833 {
43834 setState(6120);
43835 match(AGGREGATE);
43836 }
43837 break;
43838 case 2:
43839 {
43840 setState(6121);
43841 match(ASSEMBLY);
43842 }
43843 break;
43844 case 3:
43845 {
43846 setState(6122);
43847 _la = _input.LA(1);
43848 if ( !(_la==SYMMETRIC || _la==ASYMMETRIC) ) {
43849 _errHandler.recoverInline(this);
43850 }
43851 else {
43852 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43853 _errHandler.reportMatch(this);
43854 consume();
43855 }
43856 setState(6123);
43857 match(KEY);
43858 }
43859 break;
43860 case 4:
43861 {
43862 setState(6124);
43863 match(CERTIFICATE);
43864 }
43865 break;
43866 case 5:
43867 {
43868 setState(6125);
43869 match(CONTRACT);
43870 }
43871 break;
43872 case 6:
43873 {
43874 setState(6126);
43875 match(DATABASE);
43876 }
43877 break;
43878 case 7:
43879 {
43880 setState(6128);
43881 _errHandler.sync(this);
43882 _la = _input.LA(1);
43883 if (_la==DATABASE) {
43884 {
43885 setState(6127);
43886 match(DATABASE);
43887 }
43888 }
43889
43890 setState(6130);
43891 match(DDL);
43892 setState(6131);
43893 match(EVENT);
43894 setState(6132);
43895 match(NOTIFICATION);
43896 }
43897 break;
43898 case 8:
43899 {
43900 setState(6133);
43901 match(DEFAULT);
43902 }
43903 break;
43904 case 9:
43905 {
43906 setState(6134);
43907 match(FULLTEXT);
43908 setState(6135);
43909 match(CATALOG);
43910 }
43911 break;
43912 case 10:
43913 {
43914 setState(6136);
43915 match(FUNCTION);
43916 }
43917 break;
43918 case 11:
43919 {
43920 setState(6137);
43921 match(MESSAGE);
43922 setState(6138);
43923 match(TYPE);
43924 }
43925 break;
43926 case 12:
43927 {
43928 setState(6139);
43929 match(PROCEDURE);
43930 }
43931 break;
43932 case 13:
43933 {
43934 setState(6140);
43935 match(QUEUE);
43936 }
43937 break;
43938 case 14:
43939 {
43940 setState(6141);
43941 match(REMOTE);
43942 setState(6142);
43943 match(SERVICE);
43944 setState(6143);
43945 match(BINDING);
43946 }
43947 break;
43948 case 15:
43949 {
43950 setState(6144);
43951 match(ROLE);
43952 }
43953 break;
43954 case 16:
43955 {
43956 setState(6145);
43957 match(ROUTE);
43958 }
43959 break;
43960 case 17:
43961 {
43962 setState(6146);
43963 match(RULE);
43964 }
43965 break;
43966 case 18:
43967 {
43968 setState(6147);
43969 match(SCHEMA);
43970 }
43971 break;
43972 case 19:
43973 {
43974 setState(6148);
43975 match(SERVICE);
43976 }
43977 break;
43978 case 20:
43979 {
43980 setState(6149);
43981 match(SYNONYM);
43982 }
43983 break;
43984 case 21:
43985 {
43986 setState(6150);
43987 match(TABLE);
43988 }
43989 break;
43990 case 22:
43991 {
43992 setState(6151);
43993 match(TYPE);
43994 }
43995 break;
43996 case 23:
43997 {
43998 setState(6152);
43999 match(VIEW);
44000 }
44001 break;
44002 case 24:
44003 {
44004 setState(6153);
44005 match(XML);
44006 setState(6154);
44007 match(SCHEMA);
44008 setState(6155);
44009 match(COLLECTION);
44010 }
44011 break;
44012 }
44013 }
44014 break;
44015 case 12:
44016 enterOuterAlt(_localctx, 12);
44017 {
44018 setState(6158);
44019 match(DELETE);
44020 }
44021 break;
44022 case 13:
44023 enterOuterAlt(_localctx, 13);
44024 {
44025 setState(6159);
44026 match(EXECUTE);
44027 }
44028 break;
44029 case 14:
44030 enterOuterAlt(_localctx, 14);
44031 {
44032 setState(6160);
44033 match(EXECUTE);
44034 setState(6162);
44035 _errHandler.sync(this);
44036 _la = _input.LA(1);
44037 if (_la==ANY) {
44038 {
44039 setState(6161);
44040 match(ANY);
44041 }
44042 }
44043
44044 setState(6164);
44045 match(EXTERNAL);
44046 setState(6165);
44047 match(SCRIPT);
44048 }
44049 break;
44050 case 15:
44051 enterOuterAlt(_localctx, 15);
44052 {
44053 setState(6166);
44054 match(INSERT);
44055 }
44056 break;
44057 case 16:
44058 enterOuterAlt(_localctx, 16);
44059 {
44060 setState(6167);
44061 match(KILL);
44062 setState(6168);
44063 match(DATABASE);
44064 setState(6169);
44065 match(CONNECTION);
44066 }
44067 break;
44068 case 17:
44069 enterOuterAlt(_localctx, 17);
44070 {
44071 setState(6170);
44072 match(REFERENCES);
44073 }
44074 break;
44075 case 18:
44076 enterOuterAlt(_localctx, 18);
44077 {
44078 setState(6171);
44079 match(SELECT);
44080 }
44081 break;
44082 case 19:
44083 enterOuterAlt(_localctx, 19);
44084 {
44085 setState(6172);
44086 match(SHOWPLAN);
44087 }
44088 break;
44089 case 20:
44090 enterOuterAlt(_localctx, 20);
44091 {
44092 setState(6173);
44093 match(SUBSCRIBE);
44094 setState(6174);
44095 match(QUERY);
44096 setState(6175);
44097 match(NOTIFICATIONS);
44098 }
44099 break;
44100 case 21:
44101 enterOuterAlt(_localctx, 21);
44102 {
44103 setState(6176);
44104 match(TAKE);
44105 setState(6177);
44106 match(OWNERSHIP);
44107 }
44108 break;
44109 case 22:
44110 enterOuterAlt(_localctx, 22);
44111 {
44112 setState(6178);
44113 match(UNMASK);
44114 }
44115 break;
44116 case 23:
44117 enterOuterAlt(_localctx, 23);
44118 {
44119 setState(6179);
44120 match(UPDATE);
44121 }
44122 break;
44123 case 24:
44124 enterOuterAlt(_localctx, 24);
44125 {
44126 setState(6180);
44127 match(VIEW);
44128 setState(6181);
44129 match(ANY);
44130 setState(6182);
44131 match(COLUMN);
44132 setState(6183);
44133 _la = _input.LA(1);
44134 if ( !(_la==ENCRYPTION || _la==MASTER) ) {
44135 _errHandler.recoverInline(this);
44136 }
44137 else {
44138 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44139 _errHandler.reportMatch(this);
44140 consume();
44141 }
44142 setState(6184);
44143 match(KEY);
44144 setState(6185);
44145 match(DEFINITION);
44146 }
44147 break;
44148 case 25:
44149 enterOuterAlt(_localctx, 25);
44150 {
44151 setState(6186);
44152 match(CREATE);
44153 setState(6187);
44154 match(ANY);
44155 setState(6191);
44156 _errHandler.sync(this);
44157 switch (_input.LA(1)) {
44158 case DATABASE:
44159 {
44160 setState(6188);
44161 match(DATABASE);
44162 }
44163 break;
44164 case EXTERNAL:
44165 {
44166 setState(6189);
44167 match(EXTERNAL);
44168 setState(6190);
44169 match(LIBRARY);
44170 }
44171 break;
44172 default:
44173 throw new NoViableAltException(this);
44174 }
44175 }
44176 break;
44177 case 26:
44178 enterOuterAlt(_localctx, 26);
44179 {
44180 setState(6193);
44181 match(VIEW);
44182 setState(6194);
44183 _la = _input.LA(1);
44184 if ( !(_la==DATABASE || _la==SERVER) ) {
44185 _errHandler.recoverInline(this);
44186 }
44187 else {
44188 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44189 _errHandler.reportMatch(this);
44190 consume();
44191 }
44192 setState(6195);
44193 match(STATE);
44194 }
44195 break;
44196 case 27:
44197 enterOuterAlt(_localctx, 27);
44198 {
44199 setState(6196);
44200 match(VIEW);
44201 setState(6198);
44202 _errHandler.sync(this);
44203 _la = _input.LA(1);
44204 if (_la==ANY) {
44205 {
44206 setState(6197);
44207 match(ANY);
44208 }
44209 }
44210
44211 setState(6200);
44212 match(DEFINITION);
44213 }
44214 break;
44215 case 28:
44216 enterOuterAlt(_localctx, 28);
44217 {
44218 }
44219 break;
44220 }
44221 }
44222 catch (RecognitionException re) {
44223 _localctx.exception = re;
44224 _errHandler.reportError(this, re);
44225 _errHandler.recover(this, re);
44226 }
44227 finally {
44228 exitRule();
44229 }
44230 return _localctx;
44231 }
44232
44233 public static class DatabasePrincipalPermissionContext extends ParserRuleContext {
44234 public DatabaseUserPermissionContext databaseUserPermission() {
44235 return getRuleContext(DatabaseUserPermissionContext.class,0);
44236 }
44237 public DatabaseRolePermissionContext databaseRolePermission() {
44238 return getRuleContext(DatabaseRolePermissionContext.class,0);
44239 }
44240 public ApplicationRolePermissionContext applicationRolePermission() {
44241 return getRuleContext(ApplicationRolePermissionContext.class,0);
44242 }
44243 public DatabasePrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
44244 super(parent, invokingState);
44245 }
44246 @Override public int getRuleIndex() { return RULE_databasePrincipalPermission; }
44247 @Override
44248 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44249 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePrincipalPermission(this);
44250 else return visitor.visitChildren(this);
44251 }
44252 }
44253
44254 public final DatabasePrincipalPermissionContext databasePrincipalPermission() throws RecognitionException {
44255 DatabasePrincipalPermissionContext _localctx = new DatabasePrincipalPermissionContext(_ctx, getState());
44256 enterRule(_localctx, 836, RULE_databasePrincipalPermission);
44257 try {
44258 setState(6207);
44259 _errHandler.sync(this);
44260 switch ( getInterpreter().adaptivePredict(_input,720,_ctx) ) {
44261 case 1:
44262 enterOuterAlt(_localctx, 1);
44263 {
44264 setState(6204);
44265 databaseUserPermission();
44266 }
44267 break;
44268 case 2:
44269 enterOuterAlt(_localctx, 2);
44270 {
44271 setState(6205);
44272 databaseRolePermission();
44273 }
44274 break;
44275 case 3:
44276 enterOuterAlt(_localctx, 3);
44277 {
44278 setState(6206);
44279 applicationRolePermission();
44280 }
44281 break;
44282 }
44283 }
44284 catch (RecognitionException re) {
44285 _localctx.exception = re;
44286 _errHandler.reportError(this, re);
44287 _errHandler.recover(this, re);
44288 }
44289 finally {
44290 exitRule();
44291 }
44292 return _localctx;
44293 }
44294
44295 public static class DatabaseUserPermissionContext extends ParserRuleContext {
44296 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44297 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
44298 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44299 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44300 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44301 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44302 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
44303 public DatabaseUserPermissionContext(ParserRuleContext parent, int invokingState) {
44304 super(parent, invokingState);
44305 }
44306 @Override public int getRuleIndex() { return RULE_databaseUserPermission; }
44307 @Override
44308 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44309 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseUserPermission(this);
44310 else return visitor.visitChildren(this);
44311 }
44312 }
44313
44314 public final DatabaseUserPermissionContext databaseUserPermission() throws RecognitionException {
44315 DatabaseUserPermissionContext _localctx = new DatabaseUserPermissionContext(_ctx, getState());
44316 enterRule(_localctx, 838, RULE_databaseUserPermission);
44317 try {
44318 setState(6217);
44319 _errHandler.sync(this);
44320 switch ( getInterpreter().adaptivePredict(_input,721,_ctx) ) {
44321 case 1:
44322 enterOuterAlt(_localctx, 1);
44323 {
44324 setState(6209);
44325 match(CONTROL);
44326 }
44327 break;
44328 case 2:
44329 enterOuterAlt(_localctx, 2);
44330 {
44331 setState(6210);
44332 match(IMPERSONATE);
44333 }
44334 break;
44335 case 3:
44336 enterOuterAlt(_localctx, 3);
44337 {
44338 setState(6211);
44339 match(ALTER);
44340 }
44341 break;
44342 case 4:
44343 enterOuterAlt(_localctx, 4);
44344 {
44345 setState(6212);
44346 match(VIEW);
44347 setState(6213);
44348 match(DEFINITION);
44349 }
44350 break;
44351 case 5:
44352 enterOuterAlt(_localctx, 5);
44353 {
44354 setState(6214);
44355 match(ALTER);
44356 setState(6215);
44357 match(ANY);
44358 setState(6216);
44359 match(USER);
44360 }
44361 break;
44362 }
44363 }
44364 catch (RecognitionException re) {
44365 _localctx.exception = re;
44366 _errHandler.reportError(this, re);
44367 _errHandler.recover(this, re);
44368 }
44369 finally {
44370 exitRule();
44371 }
44372 return _localctx;
44373 }
44374
44375 public static class DatabaseRolePermissionContext extends ParserRuleContext {
44376 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44377 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44378 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44379 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44380 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44381 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44382 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44383 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
44384 public DatabaseRolePermissionContext(ParserRuleContext parent, int invokingState) {
44385 super(parent, invokingState);
44386 }
44387 @Override public int getRuleIndex() { return RULE_databaseRolePermission; }
44388 @Override
44389 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44390 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseRolePermission(this);
44391 else return visitor.visitChildren(this);
44392 }
44393 }
44394
44395 public final DatabaseRolePermissionContext databaseRolePermission() throws RecognitionException {
44396 DatabaseRolePermissionContext _localctx = new DatabaseRolePermissionContext(_ctx, getState());
44397 enterRule(_localctx, 840, RULE_databaseRolePermission);
44398 try {
44399 setState(6228);
44400 _errHandler.sync(this);
44401 switch ( getInterpreter().adaptivePredict(_input,722,_ctx) ) {
44402 case 1:
44403 enterOuterAlt(_localctx, 1);
44404 {
44405 setState(6219);
44406 match(CONTROL);
44407 }
44408 break;
44409 case 2:
44410 enterOuterAlt(_localctx, 2);
44411 {
44412 setState(6220);
44413 match(TAKE);
44414 setState(6221);
44415 match(OWNERSHIP);
44416 }
44417 break;
44418 case 3:
44419 enterOuterAlt(_localctx, 3);
44420 {
44421 setState(6222);
44422 match(ALTER);
44423 }
44424 break;
44425 case 4:
44426 enterOuterAlt(_localctx, 4);
44427 {
44428 setState(6223);
44429 match(VIEW);
44430 setState(6224);
44431 match(DEFINITION);
44432 }
44433 break;
44434 case 5:
44435 enterOuterAlt(_localctx, 5);
44436 {
44437 setState(6225);
44438 match(ALTER);
44439 setState(6226);
44440 match(ANY);
44441 setState(6227);
44442 match(ROLE);
44443 }
44444 break;
44445 }
44446 }
44447 catch (RecognitionException re) {
44448 _localctx.exception = re;
44449 _errHandler.reportError(this, re);
44450 _errHandler.recover(this, re);
44451 }
44452 finally {
44453 exitRule();
44454 }
44455 return _localctx;
44456 }
44457
44458 public static class ApplicationRolePermissionContext extends ParserRuleContext {
44459 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44460 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44461 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44462 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44463 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44464 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
44465 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
44466 public ApplicationRolePermissionContext(ParserRuleContext parent, int invokingState) {
44467 super(parent, invokingState);
44468 }
44469 @Override public int getRuleIndex() { return RULE_applicationRolePermission; }
44470 @Override
44471 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44472 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitApplicationRolePermission(this);
44473 else return visitor.visitChildren(this);
44474 }
44475 }
44476
44477 public final ApplicationRolePermissionContext applicationRolePermission() throws RecognitionException {
44478 ApplicationRolePermissionContext _localctx = new ApplicationRolePermissionContext(_ctx, getState());
44479 enterRule(_localctx, 842, RULE_applicationRolePermission);
44480 try {
44481 setState(6238);
44482 _errHandler.sync(this);
44483 switch ( getInterpreter().adaptivePredict(_input,723,_ctx) ) {
44484 case 1:
44485 enterOuterAlt(_localctx, 1);
44486 {
44487 setState(6230);
44488 match(CONTROL);
44489 }
44490 break;
44491 case 2:
44492 enterOuterAlt(_localctx, 2);
44493 {
44494 setState(6231);
44495 match(ALTER);
44496 }
44497 break;
44498 case 3:
44499 enterOuterAlt(_localctx, 3);
44500 {
44501 setState(6232);
44502 match(VIEW);
44503 setState(6233);
44504 match(DEFINITION);
44505 }
44506 break;
44507 case 4:
44508 enterOuterAlt(_localctx, 4);
44509 {
44510 setState(6234);
44511 match(ALTER);
44512 setState(6235);
44513 match(ANY);
44514 setState(6236);
44515 match(APPLICATION);
44516 setState(6237);
44517 match(ROLE);
44518 }
44519 break;
44520 }
44521 }
44522 catch (RecognitionException re) {
44523 _localctx.exception = re;
44524 _errHandler.reportError(this, re);
44525 _errHandler.recover(this, re);
44526 }
44527 finally {
44528 exitRule();
44529 }
44530 return _localctx;
44531 }
44532
44533 public static class DatabaseScopedCredentialPermissionContext extends ParserRuleContext {
44534 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44535 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44536 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44537 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44538 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44539 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44540 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44541 public DatabaseScopedCredentialPermissionContext(ParserRuleContext parent, int invokingState) {
44542 super(parent, invokingState);
44543 }
44544 @Override public int getRuleIndex() { return RULE_databaseScopedCredentialPermission; }
44545 @Override
44546 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44547 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseScopedCredentialPermission(this);
44548 else return visitor.visitChildren(this);
44549 }
44550 }
44551
44552 public final DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() throws RecognitionException {
44553 DatabaseScopedCredentialPermissionContext _localctx = new DatabaseScopedCredentialPermissionContext(_ctx, getState());
44554 enterRule(_localctx, 844, RULE_databaseScopedCredentialPermission);
44555 try {
44556 setState(6247);
44557 _errHandler.sync(this);
44558 switch (_input.LA(1)) {
44559 case CONTROL:
44560 enterOuterAlt(_localctx, 1);
44561 {
44562 setState(6240);
44563 match(CONTROL);
44564 }
44565 break;
44566 case TAKE:
44567 enterOuterAlt(_localctx, 2);
44568 {
44569 setState(6241);
44570 match(TAKE);
44571 setState(6242);
44572 match(OWNERSHIP);
44573 }
44574 break;
44575 case ALTER:
44576 enterOuterAlt(_localctx, 3);
44577 {
44578 setState(6243);
44579 match(ALTER);
44580 }
44581 break;
44582 case REFERENCES:
44583 enterOuterAlt(_localctx, 4);
44584 {
44585 setState(6244);
44586 match(REFERENCES);
44587 }
44588 break;
44589 case VIEW:
44590 enterOuterAlt(_localctx, 5);
44591 {
44592 setState(6245);
44593 match(VIEW);
44594 setState(6246);
44595 match(DEFINITION);
44596 }
44597 break;
44598 default:
44599 throw new NoViableAltException(this);
44600 }
44601 }
44602 catch (RecognitionException re) {
44603 _localctx.exception = re;
44604 _errHandler.reportError(this, re);
44605 _errHandler.recover(this, re);
44606 }
44607 finally {
44608 exitRule();
44609 }
44610 return _localctx;
44611 }
44612
44613 public static class SchemaPermissionContext extends ParserRuleContext {
44614 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44615 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44616 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
44617 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
44618 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
44619 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
44620 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
44621 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44622 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
44623 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44624 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44625 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
44626 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44627 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
44628 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
44629 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44630 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44631 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
44632 public SchemaPermissionContext(ParserRuleContext parent, int invokingState) {
44633 super(parent, invokingState);
44634 }
44635 @Override public int getRuleIndex() { return RULE_schemaPermission; }
44636 @Override
44637 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44638 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaPermission(this);
44639 else return visitor.visitChildren(this);
44640 }
44641 }
44642
44643 public final SchemaPermissionContext schemaPermission() throws RecognitionException {
44644 SchemaPermissionContext _localctx = new SchemaPermissionContext(_ctx, getState());
44645 enterRule(_localctx, 846, RULE_schemaPermission);
44646 try {
44647 setState(6269);
44648 _errHandler.sync(this);
44649 switch ( getInterpreter().adaptivePredict(_input,725,_ctx) ) {
44650 case 1:
44651 enterOuterAlt(_localctx, 1);
44652 {
44653 setState(6249);
44654 match(ALTER);
44655 }
44656 break;
44657 case 2:
44658 enterOuterAlt(_localctx, 2);
44659 {
44660 setState(6250);
44661 match(CONTROL);
44662 }
44663 break;
44664 case 3:
44665 enterOuterAlt(_localctx, 3);
44666 {
44667 setState(6251);
44668 match(CREATE);
44669 setState(6252);
44670 match(SEQUENCE);
44671 }
44672 break;
44673 case 4:
44674 enterOuterAlt(_localctx, 4);
44675 {
44676 setState(6253);
44677 match(DELETE);
44678 }
44679 break;
44680 case 5:
44681 enterOuterAlt(_localctx, 5);
44682 {
44683 setState(6254);
44684 match(EXECUTE);
44685 }
44686 break;
44687 case 6:
44688 enterOuterAlt(_localctx, 6);
44689 {
44690 setState(6255);
44691 match(INSERT);
44692 }
44693 break;
44694 case 7:
44695 enterOuterAlt(_localctx, 7);
44696 {
44697 setState(6256);
44698 match(REFERENCES);
44699 }
44700 break;
44701 case 8:
44702 enterOuterAlt(_localctx, 8);
44703 {
44704 setState(6257);
44705 match(SELECT);
44706 }
44707 break;
44708 case 9:
44709 enterOuterAlt(_localctx, 9);
44710 {
44711 setState(6258);
44712 match(TAKE);
44713 setState(6259);
44714 match(OWNERSHIP);
44715 }
44716 break;
44717 case 10:
44718 enterOuterAlt(_localctx, 10);
44719 {
44720 setState(6260);
44721 match(UPDATE);
44722 }
44723 break;
44724 case 11:
44725 enterOuterAlt(_localctx, 11);
44726 {
44727 setState(6261);
44728 match(VIEW);
44729 setState(6262);
44730 match(CHANGE);
44731 setState(6263);
44732 match(TRACKING);
44733 }
44734 break;
44735 case 12:
44736 enterOuterAlt(_localctx, 12);
44737 {
44738 setState(6264);
44739 match(VIEW);
44740 setState(6265);
44741 match(DEFINITION);
44742 }
44743 break;
44744 case 13:
44745 enterOuterAlt(_localctx, 13);
44746 {
44747 setState(6266);
44748 match(ALTER);
44749 setState(6267);
44750 match(ANY);
44751 setState(6268);
44752 match(SCHEMA);
44753 }
44754 break;
44755 }
44756 }
44757 catch (RecognitionException re) {
44758 _localctx.exception = re;
44759 _errHandler.reportError(this, re);
44760 _errHandler.recover(this, re);
44761 }
44762 finally {
44763 exitRule();
44764 }
44765 return _localctx;
44766 }
44767
44768 public static class SearchPropertyListPermissionContext extends ParserRuleContext {
44769 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44770 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44771 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44772 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44773 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44774 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44775 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44776 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44777 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
44778 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
44779 public SearchPropertyListPermissionContext(ParserRuleContext parent, int invokingState) {
44780 super(parent, invokingState);
44781 }
44782 @Override public int getRuleIndex() { return RULE_searchPropertyListPermission; }
44783 @Override
44784 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44785 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSearchPropertyListPermission(this);
44786 else return visitor.visitChildren(this);
44787 }
44788 }
44789
44790 public final SearchPropertyListPermissionContext searchPropertyListPermission() throws RecognitionException {
44791 SearchPropertyListPermissionContext _localctx = new SearchPropertyListPermissionContext(_ctx, getState());
44792 enterRule(_localctx, 848, RULE_searchPropertyListPermission);
44793 try {
44794 setState(6282);
44795 _errHandler.sync(this);
44796 switch ( getInterpreter().adaptivePredict(_input,726,_ctx) ) {
44797 case 1:
44798 enterOuterAlt(_localctx, 1);
44799 {
44800 setState(6271);
44801 match(ALTER);
44802 }
44803 break;
44804 case 2:
44805 enterOuterAlt(_localctx, 2);
44806 {
44807 setState(6272);
44808 match(CONTROL);
44809 }
44810 break;
44811 case 3:
44812 enterOuterAlt(_localctx, 3);
44813 {
44814 setState(6273);
44815 match(REFERENCES);
44816 }
44817 break;
44818 case 4:
44819 enterOuterAlt(_localctx, 4);
44820 {
44821 setState(6274);
44822 match(TAKE);
44823 setState(6275);
44824 match(OWNERSHIP);
44825 }
44826 break;
44827 case 5:
44828 enterOuterAlt(_localctx, 5);
44829 {
44830 setState(6276);
44831 match(VIEW);
44832 setState(6277);
44833 match(DEFINITION);
44834 }
44835 break;
44836 case 6:
44837 enterOuterAlt(_localctx, 6);
44838 {
44839 setState(6278);
44840 match(ALTER);
44841 setState(6279);
44842 match(ANY);
44843 setState(6280);
44844 match(FULLTEXT);
44845 setState(6281);
44846 match(CATALOG);
44847 }
44848 break;
44849 }
44850 }
44851 catch (RecognitionException re) {
44852 _localctx.exception = re;
44853 _errHandler.reportError(this, re);
44854 _errHandler.recover(this, re);
44855 }
44856 finally {
44857 exitRule();
44858 }
44859 return _localctx;
44860 }
44861
44862 public static class ServiceBrokerPermissionContext extends ParserRuleContext {
44863 public ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() {
44864 return getRuleContext(ServiceBrokerContractsPermissionContext.class,0);
44865 }
44866 public ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() {
44867 return getRuleContext(ServiceBrokerMessageTypesPermissionContext.class,0);
44868 }
44869 public ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() {
44870 return getRuleContext(ServiceBrokerRemoteServiceBindingsPermissionContext.class,0);
44871 }
44872 public ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() {
44873 return getRuleContext(ServiceBrokerRoutesPermissionContext.class,0);
44874 }
44875 public ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() {
44876 return getRuleContext(ServiceBrokerServicesPermissionContext.class,0);
44877 }
44878 public ServiceBrokerPermissionContext(ParserRuleContext parent, int invokingState) {
44879 super(parent, invokingState);
44880 }
44881 @Override public int getRuleIndex() { return RULE_serviceBrokerPermission; }
44882 @Override
44883 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44884 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerPermission(this);
44885 else return visitor.visitChildren(this);
44886 }
44887 }
44888
44889 public final ServiceBrokerPermissionContext serviceBrokerPermission() throws RecognitionException {
44890 ServiceBrokerPermissionContext _localctx = new ServiceBrokerPermissionContext(_ctx, getState());
44891 enterRule(_localctx, 850, RULE_serviceBrokerPermission);
44892 try {
44893 setState(6289);
44894 _errHandler.sync(this);
44895 switch ( getInterpreter().adaptivePredict(_input,727,_ctx) ) {
44896 case 1:
44897 enterOuterAlt(_localctx, 1);
44898 {
44899 setState(6284);
44900 serviceBrokerContractsPermission();
44901 }
44902 break;
44903 case 2:
44904 enterOuterAlt(_localctx, 2);
44905 {
44906 setState(6285);
44907 serviceBrokerMessageTypesPermission();
44908 }
44909 break;
44910 case 3:
44911 enterOuterAlt(_localctx, 3);
44912 {
44913 setState(6286);
44914 serviceBrokerRemoteServiceBindingsPermission();
44915 }
44916 break;
44917 case 4:
44918 enterOuterAlt(_localctx, 4);
44919 {
44920 setState(6287);
44921 serviceBrokerRoutesPermission();
44922 }
44923 break;
44924 case 5:
44925 enterOuterAlt(_localctx, 5);
44926 {
44927 setState(6288);
44928 serviceBrokerServicesPermission();
44929 }
44930 break;
44931 }
44932 }
44933 catch (RecognitionException re) {
44934 _localctx.exception = re;
44935 _errHandler.reportError(this, re);
44936 _errHandler.recover(this, re);
44937 }
44938 finally {
44939 exitRule();
44940 }
44941 return _localctx;
44942 }
44943
44944 public static class ServiceBrokerContractsPermissionContext extends ParserRuleContext {
44945 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44946 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44947 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44948 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44949 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44950 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44951 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44952 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44953 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
44954 public ServiceBrokerContractsPermissionContext(ParserRuleContext parent, int invokingState) {
44955 super(parent, invokingState);
44956 }
44957 @Override public int getRuleIndex() { return RULE_serviceBrokerContractsPermission; }
44958 @Override
44959 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44960 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerContractsPermission(this);
44961 else return visitor.visitChildren(this);
44962 }
44963 }
44964
44965 public final ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() throws RecognitionException {
44966 ServiceBrokerContractsPermissionContext _localctx = new ServiceBrokerContractsPermissionContext(_ctx, getState());
44967 enterRule(_localctx, 852, RULE_serviceBrokerContractsPermission);
44968 try {
44969 setState(6301);
44970 _errHandler.sync(this);
44971 switch ( getInterpreter().adaptivePredict(_input,728,_ctx) ) {
44972 case 1:
44973 enterOuterAlt(_localctx, 1);
44974 {
44975 setState(6291);
44976 match(CONTROL);
44977 }
44978 break;
44979 case 2:
44980 enterOuterAlt(_localctx, 2);
44981 {
44982 setState(6292);
44983 match(TAKE);
44984 setState(6293);
44985 match(OWNERSHIP);
44986 }
44987 break;
44988 case 3:
44989 enterOuterAlt(_localctx, 3);
44990 {
44991 setState(6294);
44992 match(ALTER);
44993 }
44994 break;
44995 case 4:
44996 enterOuterAlt(_localctx, 4);
44997 {
44998 setState(6295);
44999 match(REFERENCES);
45000 }
45001 break;
45002 case 5:
45003 enterOuterAlt(_localctx, 5);
45004 {
45005 setState(6296);
45006 match(VIEW);
45007 setState(6297);
45008 match(DEFINITION);
45009 }
45010 break;
45011 case 6:
45012 enterOuterAlt(_localctx, 6);
45013 {
45014 setState(6298);
45015 match(ALTER);
45016 setState(6299);
45017 match(ANY);
45018 setState(6300);
45019 match(CONTRACT);
45020 }
45021 break;
45022 }
45023 }
45024 catch (RecognitionException re) {
45025 _localctx.exception = re;
45026 _errHandler.reportError(this, re);
45027 _errHandler.recover(this, re);
45028 }
45029 finally {
45030 exitRule();
45031 }
45032 return _localctx;
45033 }
45034
45035 public static class ServiceBrokerMessageTypesPermissionContext extends ParserRuleContext {
45036 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45037 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45038 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45039 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45040 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45041 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45042 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45043 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45044 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
45045 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
45046 public ServiceBrokerMessageTypesPermissionContext(ParserRuleContext parent, int invokingState) {
45047 super(parent, invokingState);
45048 }
45049 @Override public int getRuleIndex() { return RULE_serviceBrokerMessageTypesPermission; }
45050 @Override
45051 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45052 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerMessageTypesPermission(this);
45053 else return visitor.visitChildren(this);
45054 }
45055 }
45056
45057 public final ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() throws RecognitionException {
45058 ServiceBrokerMessageTypesPermissionContext _localctx = new ServiceBrokerMessageTypesPermissionContext(_ctx, getState());
45059 enterRule(_localctx, 854, RULE_serviceBrokerMessageTypesPermission);
45060 try {
45061 setState(6314);
45062 _errHandler.sync(this);
45063 switch ( getInterpreter().adaptivePredict(_input,729,_ctx) ) {
45064 case 1:
45065 enterOuterAlt(_localctx, 1);
45066 {
45067 setState(6303);
45068 match(CONTROL);
45069 }
45070 break;
45071 case 2:
45072 enterOuterAlt(_localctx, 2);
45073 {
45074 setState(6304);
45075 match(TAKE);
45076 setState(6305);
45077 match(OWNERSHIP);
45078 }
45079 break;
45080 case 3:
45081 enterOuterAlt(_localctx, 3);
45082 {
45083 setState(6306);
45084 match(ALTER);
45085 }
45086 break;
45087 case 4:
45088 enterOuterAlt(_localctx, 4);
45089 {
45090 setState(6307);
45091 match(REFERENCES);
45092 }
45093 break;
45094 case 5:
45095 enterOuterAlt(_localctx, 5);
45096 {
45097 setState(6308);
45098 match(VIEW);
45099 setState(6309);
45100 match(DEFINITION);
45101 }
45102 break;
45103 case 6:
45104 enterOuterAlt(_localctx, 6);
45105 {
45106 setState(6310);
45107 match(ALTER);
45108 setState(6311);
45109 match(ANY);
45110 setState(6312);
45111 match(MESSAGE);
45112 setState(6313);
45113 match(TYPE);
45114 }
45115 break;
45116 }
45117 }
45118 catch (RecognitionException re) {
45119 _localctx.exception = re;
45120 _errHandler.reportError(this, re);
45121 _errHandler.recover(this, re);
45122 }
45123 finally {
45124 exitRule();
45125 }
45126 return _localctx;
45127 }
45128
45129 public static class ServiceBrokerRemoteServiceBindingsPermissionContext extends ParserRuleContext {
45130 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45131 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45132 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45133 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45134 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45135 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45136 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45137 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
45138 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
45139 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
45140 public ServiceBrokerRemoteServiceBindingsPermissionContext(ParserRuleContext parent, int invokingState) {
45141 super(parent, invokingState);
45142 }
45143 @Override public int getRuleIndex() { return RULE_serviceBrokerRemoteServiceBindingsPermission; }
45144 @Override
45145 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45146 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRemoteServiceBindingsPermission(this);
45147 else return visitor.visitChildren(this);
45148 }
45149 }
45150
45151 public final ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() throws RecognitionException {
45152 ServiceBrokerRemoteServiceBindingsPermissionContext _localctx = new ServiceBrokerRemoteServiceBindingsPermissionContext(_ctx, getState());
45153 enterRule(_localctx, 856, RULE_serviceBrokerRemoteServiceBindingsPermission);
45154 try {
45155 setState(6327);
45156 _errHandler.sync(this);
45157 switch ( getInterpreter().adaptivePredict(_input,730,_ctx) ) {
45158 case 1:
45159 enterOuterAlt(_localctx, 1);
45160 {
45161 setState(6316);
45162 match(CONTROL);
45163 }
45164 break;
45165 case 2:
45166 enterOuterAlt(_localctx, 2);
45167 {
45168 setState(6317);
45169 match(TAKE);
45170 setState(6318);
45171 match(OWNERSHIP);
45172 }
45173 break;
45174 case 3:
45175 enterOuterAlt(_localctx, 3);
45176 {
45177 setState(6319);
45178 match(ALTER);
45179 }
45180 break;
45181 case 4:
45182 enterOuterAlt(_localctx, 4);
45183 {
45184 setState(6320);
45185 match(VIEW);
45186 setState(6321);
45187 match(DEFINITION);
45188 }
45189 break;
45190 case 5:
45191 enterOuterAlt(_localctx, 5);
45192 {
45193 setState(6322);
45194 match(ALTER);
45195 setState(6323);
45196 match(ANY);
45197 setState(6324);
45198 match(REMOTE);
45199 setState(6325);
45200 match(SERVICE);
45201 setState(6326);
45202 match(BINDING);
45203 }
45204 break;
45205 }
45206 }
45207 catch (RecognitionException re) {
45208 _localctx.exception = re;
45209 _errHandler.reportError(this, re);
45210 _errHandler.recover(this, re);
45211 }
45212 finally {
45213 exitRule();
45214 }
45215 return _localctx;
45216 }
45217
45218 public static class ServiceBrokerRoutesPermissionContext extends ParserRuleContext {
45219 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45220 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45221 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45222 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45223 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45224 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45225 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45226 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
45227 public ServiceBrokerRoutesPermissionContext(ParserRuleContext parent, int invokingState) {
45228 super(parent, invokingState);
45229 }
45230 @Override public int getRuleIndex() { return RULE_serviceBrokerRoutesPermission; }
45231 @Override
45232 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45233 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRoutesPermission(this);
45234 else return visitor.visitChildren(this);
45235 }
45236 }
45237
45238 public final ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() throws RecognitionException {
45239 ServiceBrokerRoutesPermissionContext _localctx = new ServiceBrokerRoutesPermissionContext(_ctx, getState());
45240 enterRule(_localctx, 858, RULE_serviceBrokerRoutesPermission);
45241 try {
45242 setState(6338);
45243 _errHandler.sync(this);
45244 switch ( getInterpreter().adaptivePredict(_input,731,_ctx) ) {
45245 case 1:
45246 enterOuterAlt(_localctx, 1);
45247 {
45248 setState(6329);
45249 match(CONTROL);
45250 }
45251 break;
45252 case 2:
45253 enterOuterAlt(_localctx, 2);
45254 {
45255 setState(6330);
45256 match(TAKE);
45257 setState(6331);
45258 match(OWNERSHIP);
45259 }
45260 break;
45261 case 3:
45262 enterOuterAlt(_localctx, 3);
45263 {
45264 setState(6332);
45265 match(ALTER);
45266 }
45267 break;
45268 case 4:
45269 enterOuterAlt(_localctx, 4);
45270 {
45271 setState(6333);
45272 match(VIEW);
45273 setState(6334);
45274 match(DEFINITION);
45275 }
45276 break;
45277 case 5:
45278 enterOuterAlt(_localctx, 5);
45279 {
45280 setState(6335);
45281 match(ALTER);
45282 setState(6336);
45283 match(ANY);
45284 setState(6337);
45285 match(ROUTE);
45286 }
45287 break;
45288 }
45289 }
45290 catch (RecognitionException re) {
45291 _localctx.exception = re;
45292 _errHandler.reportError(this, re);
45293 _errHandler.recover(this, re);
45294 }
45295 finally {
45296 exitRule();
45297 }
45298 return _localctx;
45299 }
45300
45301 public static class ServiceBrokerServicesPermissionContext extends ParserRuleContext {
45302 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45303 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45304 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45305 public TerminalNode SEND() { return getToken(SQLServerStatementParser.SEND, 0); }
45306 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45307 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45308 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45309 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45310 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
45311 public ServiceBrokerServicesPermissionContext(ParserRuleContext parent, int invokingState) {
45312 super(parent, invokingState);
45313 }
45314 @Override public int getRuleIndex() { return RULE_serviceBrokerServicesPermission; }
45315 @Override
45316 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45317 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerServicesPermission(this);
45318 else return visitor.visitChildren(this);
45319 }
45320 }
45321
45322 public final ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() throws RecognitionException {
45323 ServiceBrokerServicesPermissionContext _localctx = new ServiceBrokerServicesPermissionContext(_ctx, getState());
45324 enterRule(_localctx, 860, RULE_serviceBrokerServicesPermission);
45325 try {
45326 setState(6350);
45327 _errHandler.sync(this);
45328 switch ( getInterpreter().adaptivePredict(_input,732,_ctx) ) {
45329 case 1:
45330 enterOuterAlt(_localctx, 1);
45331 {
45332 setState(6340);
45333 match(CONTROL);
45334 }
45335 break;
45336 case 2:
45337 enterOuterAlt(_localctx, 2);
45338 {
45339 setState(6341);
45340 match(TAKE);
45341 setState(6342);
45342 match(OWNERSHIP);
45343 }
45344 break;
45345 case 3:
45346 enterOuterAlt(_localctx, 3);
45347 {
45348 setState(6343);
45349 match(SEND);
45350 }
45351 break;
45352 case 4:
45353 enterOuterAlt(_localctx, 4);
45354 {
45355 setState(6344);
45356 match(ALTER);
45357 }
45358 break;
45359 case 5:
45360 enterOuterAlt(_localctx, 5);
45361 {
45362 setState(6345);
45363 match(VIEW);
45364 setState(6346);
45365 match(DEFINITION);
45366 }
45367 break;
45368 case 6:
45369 enterOuterAlt(_localctx, 6);
45370 {
45371 setState(6347);
45372 match(ALTER);
45373 setState(6348);
45374 match(ANY);
45375 setState(6349);
45376 match(SERVICE);
45377 }
45378 break;
45379 }
45380 }
45381 catch (RecognitionException re) {
45382 _localctx.exception = re;
45383 _errHandler.reportError(this, re);
45384 _errHandler.recover(this, re);
45385 }
45386 finally {
45387 exitRule();
45388 }
45389 return _localctx;
45390 }
45391
45392 public static class EndpointPermissionContext extends ParserRuleContext {
45393 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45394 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
45395 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45396 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
45397 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45398 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45399 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45400 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45401 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45402 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
45403 public EndpointPermissionContext(ParserRuleContext parent, int invokingState) {
45404 super(parent, invokingState);
45405 }
45406 @Override public int getRuleIndex() { return RULE_endpointPermission; }
45407 @Override
45408 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45409 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEndpointPermission(this);
45410 else return visitor.visitChildren(this);
45411 }
45412 }
45413
45414 public final EndpointPermissionContext endpointPermission() throws RecognitionException {
45415 EndpointPermissionContext _localctx = new EndpointPermissionContext(_ctx, getState());
45416 enterRule(_localctx, 862, RULE_endpointPermission);
45417 int _la;
45418 try {
45419 setState(6368);
45420 _errHandler.sync(this);
45421 switch ( getInterpreter().adaptivePredict(_input,735,_ctx) ) {
45422 case 1:
45423 enterOuterAlt(_localctx, 1);
45424 {
45425 setState(6352);
45426 match(ALTER);
45427 }
45428 break;
45429 case 2:
45430 enterOuterAlt(_localctx, 2);
45431 {
45432 setState(6353);
45433 match(CONNECT);
45434 }
45435 break;
45436 case 3:
45437 enterOuterAlt(_localctx, 3);
45438 {
45439 setState(6354);
45440 match(CONTROL);
45441 setState(6356);
45442 _errHandler.sync(this);
45443 _la = _input.LA(1);
45444 if (_la==SERVER) {
45445 {
45446 setState(6355);
45447 match(SERVER);
45448 }
45449 }
45450
45451 }
45452 break;
45453 case 4:
45454 enterOuterAlt(_localctx, 4);
45455 {
45456 setState(6358);
45457 match(TAKE);
45458 setState(6359);
45459 match(OWNERSHIP);
45460 }
45461 break;
45462 case 5:
45463 enterOuterAlt(_localctx, 5);
45464 {
45465 setState(6360);
45466 match(VIEW);
45467 setState(6362);
45468 _errHandler.sync(this);
45469 _la = _input.LA(1);
45470 if (_la==ANY) {
45471 {
45472 setState(6361);
45473 match(ANY);
45474 }
45475 }
45476
45477 setState(6364);
45478 match(DEFINITION);
45479 }
45480 break;
45481 case 6:
45482 enterOuterAlt(_localctx, 6);
45483 {
45484 setState(6365);
45485 match(ALTER);
45486 setState(6366);
45487 match(ANY);
45488 setState(6367);
45489 match(ENDPOINT);
45490 }
45491 break;
45492 }
45493 }
45494 catch (RecognitionException re) {
45495 _localctx.exception = re;
45496 _errHandler.reportError(this, re);
45497 _errHandler.recover(this, re);
45498 }
45499 finally {
45500 exitRule();
45501 }
45502 return _localctx;
45503 }
45504
45505 public static class CertificatePermissionContext extends ParserRuleContext {
45506 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45507 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45508 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45509 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45510 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45511 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45512 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45513 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45514 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
45515 public CertificatePermissionContext(ParserRuleContext parent, int invokingState) {
45516 super(parent, invokingState);
45517 }
45518 @Override public int getRuleIndex() { return RULE_certificatePermission; }
45519 @Override
45520 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45521 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCertificatePermission(this);
45522 else return visitor.visitChildren(this);
45523 }
45524 }
45525
45526 public final CertificatePermissionContext certificatePermission() throws RecognitionException {
45527 CertificatePermissionContext _localctx = new CertificatePermissionContext(_ctx, getState());
45528 enterRule(_localctx, 864, RULE_certificatePermission);
45529 try {
45530 setState(6380);
45531 _errHandler.sync(this);
45532 switch ( getInterpreter().adaptivePredict(_input,736,_ctx) ) {
45533 case 1:
45534 enterOuterAlt(_localctx, 1);
45535 {
45536 setState(6370);
45537 match(CONTROL);
45538 }
45539 break;
45540 case 2:
45541 enterOuterAlt(_localctx, 2);
45542 {
45543 setState(6371);
45544 match(TAKE);
45545 setState(6372);
45546 match(OWNERSHIP);
45547 }
45548 break;
45549 case 3:
45550 enterOuterAlt(_localctx, 3);
45551 {
45552 setState(6373);
45553 match(ALTER);
45554 }
45555 break;
45556 case 4:
45557 enterOuterAlt(_localctx, 4);
45558 {
45559 setState(6374);
45560 match(REFERENCES);
45561 }
45562 break;
45563 case 5:
45564 enterOuterAlt(_localctx, 5);
45565 {
45566 setState(6375);
45567 match(VIEW);
45568 setState(6376);
45569 match(DEFINITION);
45570 }
45571 break;
45572 case 6:
45573 enterOuterAlt(_localctx, 6);
45574 {
45575 setState(6377);
45576 match(ALTER);
45577 setState(6378);
45578 match(ANY);
45579 setState(6379);
45580 match(CERTIFICATE);
45581 }
45582 break;
45583 }
45584 }
45585 catch (RecognitionException re) {
45586 _localctx.exception = re;
45587 _errHandler.reportError(this, re);
45588 _errHandler.recover(this, re);
45589 }
45590 finally {
45591 exitRule();
45592 }
45593 return _localctx;
45594 }
45595
45596 public static class SymmetricKeyPermissionContext extends ParserRuleContext {
45597 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45598 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45599 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45600 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45601 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45602 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45603 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45604 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45605 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
45606 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
45607 public SymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
45608 super(parent, invokingState);
45609 }
45610 @Override public int getRuleIndex() { return RULE_symmetricKeyPermission; }
45611 @Override
45612 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45613 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSymmetricKeyPermission(this);
45614 else return visitor.visitChildren(this);
45615 }
45616 }
45617
45618 public final SymmetricKeyPermissionContext symmetricKeyPermission() throws RecognitionException {
45619 SymmetricKeyPermissionContext _localctx = new SymmetricKeyPermissionContext(_ctx, getState());
45620 enterRule(_localctx, 866, RULE_symmetricKeyPermission);
45621 try {
45622 setState(6393);
45623 _errHandler.sync(this);
45624 switch ( getInterpreter().adaptivePredict(_input,737,_ctx) ) {
45625 case 1:
45626 enterOuterAlt(_localctx, 1);
45627 {
45628 setState(6382);
45629 match(ALTER);
45630 }
45631 break;
45632 case 2:
45633 enterOuterAlt(_localctx, 2);
45634 {
45635 setState(6383);
45636 match(CONTROL);
45637 }
45638 break;
45639 case 3:
45640 enterOuterAlt(_localctx, 3);
45641 {
45642 setState(6384);
45643 match(REFERENCES);
45644 }
45645 break;
45646 case 4:
45647 enterOuterAlt(_localctx, 4);
45648 {
45649 setState(6385);
45650 match(TAKE);
45651 setState(6386);
45652 match(OWNERSHIP);
45653 }
45654 break;
45655 case 5:
45656 enterOuterAlt(_localctx, 5);
45657 {
45658 setState(6387);
45659 match(VIEW);
45660 setState(6388);
45661 match(DEFINITION);
45662 }
45663 break;
45664 case 6:
45665 enterOuterAlt(_localctx, 6);
45666 {
45667 setState(6389);
45668 match(ALTER);
45669 setState(6390);
45670 match(ANY);
45671 setState(6391);
45672 match(SYMMETRIC);
45673 setState(6392);
45674 match(KEY);
45675 }
45676 break;
45677 }
45678 }
45679 catch (RecognitionException re) {
45680 _localctx.exception = re;
45681 _errHandler.reportError(this, re);
45682 _errHandler.recover(this, re);
45683 }
45684 finally {
45685 exitRule();
45686 }
45687 return _localctx;
45688 }
45689
45690 public static class AsymmetricKeyPermissionContext extends ParserRuleContext {
45691 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45692 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45693 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45694 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45695 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45696 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45697 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45698 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45699 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
45700 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
45701 public AsymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
45702 super(parent, invokingState);
45703 }
45704 @Override public int getRuleIndex() { return RULE_asymmetricKeyPermission; }
45705 @Override
45706 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45707 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAsymmetricKeyPermission(this);
45708 else return visitor.visitChildren(this);
45709 }
45710 }
45711
45712 public final AsymmetricKeyPermissionContext asymmetricKeyPermission() throws RecognitionException {
45713 AsymmetricKeyPermissionContext _localctx = new AsymmetricKeyPermissionContext(_ctx, getState());
45714 enterRule(_localctx, 868, RULE_asymmetricKeyPermission);
45715 try {
45716 setState(6406);
45717 _errHandler.sync(this);
45718 switch ( getInterpreter().adaptivePredict(_input,738,_ctx) ) {
45719 case 1:
45720 enterOuterAlt(_localctx, 1);
45721 {
45722 setState(6395);
45723 match(CONTROL);
45724 }
45725 break;
45726 case 2:
45727 enterOuterAlt(_localctx, 2);
45728 {
45729 setState(6396);
45730 match(TAKE);
45731 setState(6397);
45732 match(OWNERSHIP);
45733 }
45734 break;
45735 case 3:
45736 enterOuterAlt(_localctx, 3);
45737 {
45738 setState(6398);
45739 match(ALTER);
45740 }
45741 break;
45742 case 4:
45743 enterOuterAlt(_localctx, 4);
45744 {
45745 setState(6399);
45746 match(REFERENCES);
45747 }
45748 break;
45749 case 5:
45750 enterOuterAlt(_localctx, 5);
45751 {
45752 setState(6400);
45753 match(VIEW);
45754 setState(6401);
45755 match(DEFINITION);
45756 }
45757 break;
45758 case 6:
45759 enterOuterAlt(_localctx, 6);
45760 {
45761 setState(6402);
45762 match(ALTER);
45763 setState(6403);
45764 match(ANY);
45765 setState(6404);
45766 match(ASYMMETRIC);
45767 setState(6405);
45768 match(KEY);
45769 }
45770 break;
45771 }
45772 }
45773 catch (RecognitionException re) {
45774 _localctx.exception = re;
45775 _errHandler.reportError(this, re);
45776 _errHandler.recover(this, re);
45777 }
45778 finally {
45779 exitRule();
45780 }
45781 return _localctx;
45782 }
45783
45784 public static class AssemblyPermissionContext extends ParserRuleContext {
45785 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45786 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45787 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45788 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45789 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45790 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45791 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45792 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45793 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
45794 public AssemblyPermissionContext(ParserRuleContext parent, int invokingState) {
45795 super(parent, invokingState);
45796 }
45797 @Override public int getRuleIndex() { return RULE_assemblyPermission; }
45798 @Override
45799 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45800 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssemblyPermission(this);
45801 else return visitor.visitChildren(this);
45802 }
45803 }
45804
45805 public final AssemblyPermissionContext assemblyPermission() throws RecognitionException {
45806 AssemblyPermissionContext _localctx = new AssemblyPermissionContext(_ctx, getState());
45807 enterRule(_localctx, 870, RULE_assemblyPermission);
45808 try {
45809 setState(6418);
45810 _errHandler.sync(this);
45811 switch ( getInterpreter().adaptivePredict(_input,739,_ctx) ) {
45812 case 1:
45813 enterOuterAlt(_localctx, 1);
45814 {
45815 setState(6408);
45816 match(CONTROL);
45817 }
45818 break;
45819 case 2:
45820 enterOuterAlt(_localctx, 2);
45821 {
45822 setState(6409);
45823 match(TAKE);
45824 setState(6410);
45825 match(OWNERSHIP);
45826 }
45827 break;
45828 case 3:
45829 enterOuterAlt(_localctx, 3);
45830 {
45831 setState(6411);
45832 match(ALTER);
45833 }
45834 break;
45835 case 4:
45836 enterOuterAlt(_localctx, 4);
45837 {
45838 setState(6412);
45839 match(REFERENCES);
45840 }
45841 break;
45842 case 5:
45843 enterOuterAlt(_localctx, 5);
45844 {
45845 setState(6413);
45846 match(VIEW);
45847 setState(6414);
45848 match(DEFINITION);
45849 }
45850 break;
45851 case 6:
45852 enterOuterAlt(_localctx, 6);
45853 {
45854 setState(6415);
45855 match(ALTER);
45856 setState(6416);
45857 match(ANY);
45858 setState(6417);
45859 match(ASSEMBLY);
45860 }
45861 break;
45862 }
45863 }
45864 catch (RecognitionException re) {
45865 _localctx.exception = re;
45866 _errHandler.reportError(this, re);
45867 _errHandler.recover(this, re);
45868 }
45869 finally {
45870 exitRule();
45871 }
45872 return _localctx;
45873 }
45874
45875 public static class AvailabilityGroupPermissionContext extends ParserRuleContext {
45876 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45877 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
45878 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45879 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
45880 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45881 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45882 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45883 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45884 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45885 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
45886 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
45887 public AvailabilityGroupPermissionContext(ParserRuleContext parent, int invokingState) {
45888 super(parent, invokingState);
45889 }
45890 @Override public int getRuleIndex() { return RULE_availabilityGroupPermission; }
45891 @Override
45892 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45893 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAvailabilityGroupPermission(this);
45894 else return visitor.visitChildren(this);
45895 }
45896 }
45897
45898 public final AvailabilityGroupPermissionContext availabilityGroupPermission() throws RecognitionException {
45899 AvailabilityGroupPermissionContext _localctx = new AvailabilityGroupPermissionContext(_ctx, getState());
45900 enterRule(_localctx, 872, RULE_availabilityGroupPermission);
45901 int _la;
45902 try {
45903 setState(6437);
45904 _errHandler.sync(this);
45905 switch ( getInterpreter().adaptivePredict(_input,742,_ctx) ) {
45906 case 1:
45907 enterOuterAlt(_localctx, 1);
45908 {
45909 setState(6420);
45910 match(ALTER);
45911 }
45912 break;
45913 case 2:
45914 enterOuterAlt(_localctx, 2);
45915 {
45916 setState(6421);
45917 match(CONNECT);
45918 }
45919 break;
45920 case 3:
45921 enterOuterAlt(_localctx, 3);
45922 {
45923 setState(6422);
45924 match(CONTROL);
45925 setState(6424);
45926 _errHandler.sync(this);
45927 _la = _input.LA(1);
45928 if (_la==SERVER) {
45929 {
45930 setState(6423);
45931 match(SERVER);
45932 }
45933 }
45934
45935 }
45936 break;
45937 case 4:
45938 enterOuterAlt(_localctx, 4);
45939 {
45940 setState(6426);
45941 match(TAKE);
45942 setState(6427);
45943 match(OWNERSHIP);
45944 }
45945 break;
45946 case 5:
45947 enterOuterAlt(_localctx, 5);
45948 {
45949 setState(6428);
45950 match(VIEW);
45951 setState(6430);
45952 _errHandler.sync(this);
45953 _la = _input.LA(1);
45954 if (_la==ANY) {
45955 {
45956 setState(6429);
45957 match(ANY);
45958 }
45959 }
45960
45961 setState(6432);
45962 match(DEFINITION);
45963 }
45964 break;
45965 case 6:
45966 enterOuterAlt(_localctx, 6);
45967 {
45968 setState(6433);
45969 match(ALTER);
45970 setState(6434);
45971 match(ANY);
45972 setState(6435);
45973 match(AVAILABILITY);
45974 setState(6436);
45975 match(GROUP);
45976 }
45977 break;
45978 }
45979 }
45980 catch (RecognitionException re) {
45981 _localctx.exception = re;
45982 _errHandler.reportError(this, re);
45983 _errHandler.recover(this, re);
45984 }
45985 finally {
45986 exitRule();
45987 }
45988 return _localctx;
45989 }
45990
45991 public static class FullTextPermissionContext extends ParserRuleContext {
45992 public FullTextCatalogPermissionContext fullTextCatalogPermission() {
45993 return getRuleContext(FullTextCatalogPermissionContext.class,0);
45994 }
45995 public FullTextStoplistPermissionContext fullTextStoplistPermission() {
45996 return getRuleContext(FullTextStoplistPermissionContext.class,0);
45997 }
45998 public FullTextPermissionContext(ParserRuleContext parent, int invokingState) {
45999 super(parent, invokingState);
46000 }
46001 @Override public int getRuleIndex() { return RULE_fullTextPermission; }
46002 @Override
46003 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46004 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextPermission(this);
46005 else return visitor.visitChildren(this);
46006 }
46007 }
46008
46009 public final FullTextPermissionContext fullTextPermission() throws RecognitionException {
46010 FullTextPermissionContext _localctx = new FullTextPermissionContext(_ctx, getState());
46011 enterRule(_localctx, 874, RULE_fullTextPermission);
46012 try {
46013 setState(6441);
46014 _errHandler.sync(this);
46015 switch ( getInterpreter().adaptivePredict(_input,743,_ctx) ) {
46016 case 1:
46017 enterOuterAlt(_localctx, 1);
46018 {
46019 setState(6439);
46020 fullTextCatalogPermission();
46021 }
46022 break;
46023 case 2:
46024 enterOuterAlt(_localctx, 2);
46025 {
46026 setState(6440);
46027 fullTextStoplistPermission();
46028 }
46029 break;
46030 }
46031 }
46032 catch (RecognitionException re) {
46033 _localctx.exception = re;
46034 _errHandler.reportError(this, re);
46035 _errHandler.recover(this, re);
46036 }
46037 finally {
46038 exitRule();
46039 }
46040 return _localctx;
46041 }
46042
46043 public static class FullTextCatalogPermissionContext extends ParserRuleContext {
46044 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46045 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46046 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46047 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46048 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46049 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46050 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46051 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46052 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
46053 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
46054 public FullTextCatalogPermissionContext(ParserRuleContext parent, int invokingState) {
46055 super(parent, invokingState);
46056 }
46057 @Override public int getRuleIndex() { return RULE_fullTextCatalogPermission; }
46058 @Override
46059 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46060 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextCatalogPermission(this);
46061 else return visitor.visitChildren(this);
46062 }
46063 }
46064
46065 public final FullTextCatalogPermissionContext fullTextCatalogPermission() throws RecognitionException {
46066 FullTextCatalogPermissionContext _localctx = new FullTextCatalogPermissionContext(_ctx, getState());
46067 enterRule(_localctx, 876, RULE_fullTextCatalogPermission);
46068 try {
46069 setState(6454);
46070 _errHandler.sync(this);
46071 switch ( getInterpreter().adaptivePredict(_input,744,_ctx) ) {
46072 case 1:
46073 enterOuterAlt(_localctx, 1);
46074 {
46075 setState(6443);
46076 match(CONTROL);
46077 }
46078 break;
46079 case 2:
46080 enterOuterAlt(_localctx, 2);
46081 {
46082 setState(6444);
46083 match(TAKE);
46084 setState(6445);
46085 match(OWNERSHIP);
46086 }
46087 break;
46088 case 3:
46089 enterOuterAlt(_localctx, 3);
46090 {
46091 setState(6446);
46092 match(ALTER);
46093 }
46094 break;
46095 case 4:
46096 enterOuterAlt(_localctx, 4);
46097 {
46098 setState(6447);
46099 match(REFERENCES);
46100 }
46101 break;
46102 case 5:
46103 enterOuterAlt(_localctx, 5);
46104 {
46105 setState(6448);
46106 match(VIEW);
46107 setState(6449);
46108 match(DEFINITION);
46109 }
46110 break;
46111 case 6:
46112 enterOuterAlt(_localctx, 6);
46113 {
46114 setState(6450);
46115 match(ALTER);
46116 setState(6451);
46117 match(ANY);
46118 setState(6452);
46119 match(FULLTEXT);
46120 setState(6453);
46121 match(CATALOG);
46122 }
46123 break;
46124 }
46125 }
46126 catch (RecognitionException re) {
46127 _localctx.exception = re;
46128 _errHandler.reportError(this, re);
46129 _errHandler.recover(this, re);
46130 }
46131 finally {
46132 exitRule();
46133 }
46134 return _localctx;
46135 }
46136
46137 public static class FullTextStoplistPermissionContext extends ParserRuleContext {
46138 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46139 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46140 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46141 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46142 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46143 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46144 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46145 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46146 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
46147 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
46148 public FullTextStoplistPermissionContext(ParserRuleContext parent, int invokingState) {
46149 super(parent, invokingState);
46150 }
46151 @Override public int getRuleIndex() { return RULE_fullTextStoplistPermission; }
46152 @Override
46153 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46154 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextStoplistPermission(this);
46155 else return visitor.visitChildren(this);
46156 }
46157 }
46158
46159 public final FullTextStoplistPermissionContext fullTextStoplistPermission() throws RecognitionException {
46160 FullTextStoplistPermissionContext _localctx = new FullTextStoplistPermissionContext(_ctx, getState());
46161 enterRule(_localctx, 878, RULE_fullTextStoplistPermission);
46162 try {
46163 setState(6467);
46164 _errHandler.sync(this);
46165 switch ( getInterpreter().adaptivePredict(_input,745,_ctx) ) {
46166 case 1:
46167 enterOuterAlt(_localctx, 1);
46168 {
46169 setState(6456);
46170 match(ALTER);
46171 }
46172 break;
46173 case 2:
46174 enterOuterAlt(_localctx, 2);
46175 {
46176 setState(6457);
46177 match(CONTROL);
46178 }
46179 break;
46180 case 3:
46181 enterOuterAlt(_localctx, 3);
46182 {
46183 setState(6458);
46184 match(REFERENCES);
46185 }
46186 break;
46187 case 4:
46188 enterOuterAlt(_localctx, 4);
46189 {
46190 setState(6459);
46191 match(TAKE);
46192 setState(6460);
46193 match(OWNERSHIP);
46194 }
46195 break;
46196 case 5:
46197 enterOuterAlt(_localctx, 5);
46198 {
46199 setState(6461);
46200 match(VIEW);
46201 setState(6462);
46202 match(DEFINITION);
46203 }
46204 break;
46205 case 6:
46206 enterOuterAlt(_localctx, 6);
46207 {
46208 setState(6463);
46209 match(ALTER);
46210 setState(6464);
46211 match(ANY);
46212 setState(6465);
46213 match(FULLTEXT);
46214 setState(6466);
46215 match(CATALOG);
46216 }
46217 break;
46218 }
46219 }
46220 catch (RecognitionException re) {
46221 _localctx.exception = re;
46222 _errHandler.reportError(this, re);
46223 _errHandler.recover(this, re);
46224 }
46225 finally {
46226 exitRule();
46227 }
46228 return _localctx;
46229 }
46230
46231 public static class TypePermissionContext extends ParserRuleContext {
46232 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46233 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
46234 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46235 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46236 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46237 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46238 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46239 public TypePermissionContext(ParserRuleContext parent, int invokingState) {
46240 super(parent, invokingState);
46241 }
46242 @Override public int getRuleIndex() { return RULE_typePermission; }
46243 @Override
46244 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46245 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTypePermission(this);
46246 else return visitor.visitChildren(this);
46247 }
46248 }
46249
46250 public final TypePermissionContext typePermission() throws RecognitionException {
46251 TypePermissionContext _localctx = new TypePermissionContext(_ctx, getState());
46252 enterRule(_localctx, 880, RULE_typePermission);
46253 try {
46254 setState(6476);
46255 _errHandler.sync(this);
46256 switch (_input.LA(1)) {
46257 case CONTROL:
46258 enterOuterAlt(_localctx, 1);
46259 {
46260 setState(6469);
46261 match(CONTROL);
46262 }
46263 break;
46264 case EXECUTE:
46265 enterOuterAlt(_localctx, 2);
46266 {
46267 setState(6470);
46268 match(EXECUTE);
46269 }
46270 break;
46271 case REFERENCES:
46272 enterOuterAlt(_localctx, 3);
46273 {
46274 setState(6471);
46275 match(REFERENCES);
46276 }
46277 break;
46278 case TAKE:
46279 enterOuterAlt(_localctx, 4);
46280 {
46281 setState(6472);
46282 match(TAKE);
46283 setState(6473);
46284 match(OWNERSHIP);
46285 }
46286 break;
46287 case VIEW:
46288 enterOuterAlt(_localctx, 5);
46289 {
46290 setState(6474);
46291 match(VIEW);
46292 setState(6475);
46293 match(DEFINITION);
46294 }
46295 break;
46296 default:
46297 throw new NoViableAltException(this);
46298 }
46299 }
46300 catch (RecognitionException re) {
46301 _localctx.exception = re;
46302 _errHandler.reportError(this, re);
46303 _errHandler.recover(this, re);
46304 }
46305 finally {
46306 exitRule();
46307 }
46308 return _localctx;
46309 }
46310
46311 public static class XmlSchemaCollectionPermissionContext extends ParserRuleContext {
46312 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46313 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46314 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
46315 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46316 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46317 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46318 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46319 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46320 public XmlSchemaCollectionPermissionContext(ParserRuleContext parent, int invokingState) {
46321 super(parent, invokingState);
46322 }
46323 @Override public int getRuleIndex() { return RULE_xmlSchemaCollectionPermission; }
46324 @Override
46325 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46326 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlSchemaCollectionPermission(this);
46327 else return visitor.visitChildren(this);
46328 }
46329 }
46330
46331 public final XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() throws RecognitionException {
46332 XmlSchemaCollectionPermissionContext _localctx = new XmlSchemaCollectionPermissionContext(_ctx, getState());
46333 enterRule(_localctx, 882, RULE_xmlSchemaCollectionPermission);
46334 try {
46335 setState(6486);
46336 _errHandler.sync(this);
46337 switch (_input.LA(1)) {
46338 case ALTER:
46339 enterOuterAlt(_localctx, 1);
46340 {
46341 setState(6478);
46342 match(ALTER);
46343 }
46344 break;
46345 case CONTROL:
46346 enterOuterAlt(_localctx, 2);
46347 {
46348 setState(6479);
46349 match(CONTROL);
46350 }
46351 break;
46352 case EXECUTE:
46353 enterOuterAlt(_localctx, 3);
46354 {
46355 setState(6480);
46356 match(EXECUTE);
46357 }
46358 break;
46359 case REFERENCES:
46360 enterOuterAlt(_localctx, 4);
46361 {
46362 setState(6481);
46363 match(REFERENCES);
46364 }
46365 break;
46366 case TAKE:
46367 enterOuterAlt(_localctx, 5);
46368 {
46369 setState(6482);
46370 match(TAKE);
46371 setState(6483);
46372 match(OWNERSHIP);
46373 }
46374 break;
46375 case VIEW:
46376 enterOuterAlt(_localctx, 6);
46377 {
46378 setState(6484);
46379 match(VIEW);
46380 setState(6485);
46381 match(DEFINITION);
46382 }
46383 break;
46384 default:
46385 throw new NoViableAltException(this);
46386 }
46387 }
46388 catch (RecognitionException re) {
46389 _localctx.exception = re;
46390 _errHandler.reportError(this, re);
46391 _errHandler.recover(this, re);
46392 }
46393 finally {
46394 exitRule();
46395 }
46396 return _localctx;
46397 }
46398
46399 public static class SystemObjectPermissionContext extends ParserRuleContext {
46400 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
46401 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
46402 public SystemObjectPermissionContext(ParserRuleContext parent, int invokingState) {
46403 super(parent, invokingState);
46404 }
46405 @Override public int getRuleIndex() { return RULE_systemObjectPermission; }
46406 @Override
46407 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46408 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSystemObjectPermission(this);
46409 else return visitor.visitChildren(this);
46410 }
46411 }
46412
46413 public final SystemObjectPermissionContext systemObjectPermission() throws RecognitionException {
46414 SystemObjectPermissionContext _localctx = new SystemObjectPermissionContext(_ctx, getState());
46415 enterRule(_localctx, 884, RULE_systemObjectPermission);
46416 int _la;
46417 try {
46418 enterOuterAlt(_localctx, 1);
46419 {
46420 setState(6488);
46421 _la = _input.LA(1);
46422 if ( !(_la==SELECT || _la==EXECUTE) ) {
46423 _errHandler.recoverInline(this);
46424 }
46425 else {
46426 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46427 _errHandler.reportMatch(this);
46428 consume();
46429 }
46430 }
46431 }
46432 catch (RecognitionException re) {
46433 _localctx.exception = re;
46434 _errHandler.reportError(this, re);
46435 _errHandler.recover(this, re);
46436 }
46437 finally {
46438 exitRule();
46439 }
46440 return _localctx;
46441 }
46442
46443 public static class Class_Context extends ParserRuleContext {
46444 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
46445 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
46446 public TerminalNode COLON_(int i) {
46447 return getToken(SQLServerStatementParser.COLON_, i);
46448 }
46449 public Class_Context(ParserRuleContext parent, int invokingState) {
46450 super(parent, invokingState);
46451 }
46452 @Override public int getRuleIndex() { return RULE_class_; }
46453 @Override
46454 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46455 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClass_(this);
46456 else return visitor.visitChildren(this);
46457 }
46458 }
46459
46460 public final Class_Context class_() throws RecognitionException {
46461 Class_Context _localctx = new Class_Context(_ctx, getState());
46462 enterRule(_localctx, 886, RULE_class_);
46463 try {
46464 enterOuterAlt(_localctx, 1);
46465 {
46466 setState(6490);
46467 match(IDENTIFIER_);
46468 setState(6491);
46469 match(COLON_);
46470 setState(6492);
46471 match(COLON_);
46472 }
46473 }
46474 catch (RecognitionException re) {
46475 _localctx.exception = re;
46476 _errHandler.reportError(this, re);
46477 _errHandler.recover(this, re);
46478 }
46479 finally {
46480 exitRule();
46481 }
46482 return _localctx;
46483 }
46484
46485 public static class ClassItemContext extends ParserRuleContext {
46486 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
46487 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
46488 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
46489 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
46490 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
46491 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
46492 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
46493 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
46494 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
46495 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
46496 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
46497 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
46498 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
46499 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
46500 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
46501 public TerminalNode STOPLIST() { return getToken(SQLServerStatementParser.STOPLIST, 0); }
46502 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
46503 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
46504 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
46505 public TerminalNode PROPERTY() { return getToken(SQLServerStatementParser.PROPERTY, 0); }
46506 public TerminalNode LIST() { return getToken(SQLServerStatementParser.LIST, 0); }
46507 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
46508 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
46509 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
46510 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
46511 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
46512 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
46513 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
46514 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
46515 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
46516 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
46517 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
46518 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
46519 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
46520 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
46521 public ClassItemContext(ParserRuleContext parent, int invokingState) {
46522 super(parent, invokingState);
46523 }
46524 @Override public int getRuleIndex() { return RULE_classItem; }
46525 @Override
46526 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46527 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassItem(this);
46528 else return visitor.visitChildren(this);
46529 }
46530 }
46531
46532 public final ClassItemContext classItem() throws RecognitionException {
46533 ClassItemContext _localctx = new ClassItemContext(_ctx, getState());
46534 enterRule(_localctx, 888, RULE_classItem);
46535 int _la;
46536 try {
46537 setState(6534);
46538 _errHandler.sync(this);
46539 switch (_input.LA(1)) {
46540 case ASSEMBLY:
46541 enterOuterAlt(_localctx, 1);
46542 {
46543 setState(6494);
46544 match(ASSEMBLY);
46545 }
46546 break;
46547 case ASYMMETRIC:
46548 enterOuterAlt(_localctx, 2);
46549 {
46550 setState(6495);
46551 match(ASYMMETRIC);
46552 setState(6496);
46553 match(KEY);
46554 }
46555 break;
46556 case AVAILABILITY:
46557 enterOuterAlt(_localctx, 3);
46558 {
46559 setState(6497);
46560 match(AVAILABILITY);
46561 setState(6498);
46562 match(GROUP);
46563 }
46564 break;
46565 case CERTIFICATE:
46566 enterOuterAlt(_localctx, 4);
46567 {
46568 setState(6499);
46569 match(CERTIFICATE);
46570 }
46571 break;
46572 case USER:
46573 enterOuterAlt(_localctx, 5);
46574 {
46575 setState(6500);
46576 match(USER);
46577 }
46578 break;
46579 case ROLE:
46580 enterOuterAlt(_localctx, 6);
46581 {
46582 setState(6501);
46583 match(ROLE);
46584 }
46585 break;
46586 case APPLICATION:
46587 enterOuterAlt(_localctx, 7);
46588 {
46589 setState(6502);
46590 match(APPLICATION);
46591 setState(6503);
46592 match(ROLE);
46593 }
46594 break;
46595 case DATABASE:
46596 enterOuterAlt(_localctx, 8);
46597 {
46598 setState(6504);
46599 match(DATABASE);
46600 setState(6505);
46601 match(SCOPED);
46602 setState(6506);
46603 match(CREDENTIAL);
46604 }
46605 break;
46606 case ENDPOINT:
46607 enterOuterAlt(_localctx, 9);
46608 {
46609 setState(6507);
46610 match(ENDPOINT);
46611 }
46612 break;
46613 case FULLTEXT:
46614 enterOuterAlt(_localctx, 10);
46615 {
46616 setState(6508);
46617 match(FULLTEXT);
46618 setState(6509);
46619 _la = _input.LA(1);
46620 if ( !(_la==CATALOG || _la==STOPLIST) ) {
46621 _errHandler.recoverInline(this);
46622 }
46623 else {
46624 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46625 _errHandler.reportMatch(this);
46626 consume();
46627 }
46628 }
46629 break;
46630 case OBJECT:
46631 enterOuterAlt(_localctx, 11);
46632 {
46633 setState(6510);
46634 match(OBJECT);
46635 }
46636 break;
46637 case SCHEMA:
46638 enterOuterAlt(_localctx, 12);
46639 {
46640 setState(6511);
46641 match(SCHEMA);
46642 }
46643 break;
46644 case SEARCH:
46645 enterOuterAlt(_localctx, 13);
46646 {
46647 setState(6512);
46648 match(SEARCH);
46649 setState(6513);
46650 match(PROPERTY);
46651 setState(6514);
46652 match(LIST);
46653 }
46654 break;
46655 case LOGIN:
46656 enterOuterAlt(_localctx, 14);
46657 {
46658 setState(6515);
46659 match(LOGIN);
46660 }
46661 break;
46662 case SERVER:
46663 enterOuterAlt(_localctx, 15);
46664 {
46665 setState(6516);
46666 match(SERVER);
46667 setState(6517);
46668 match(ROLE);
46669 }
46670 break;
46671 case CONTRACT:
46672 enterOuterAlt(_localctx, 16);
46673 {
46674 setState(6518);
46675 match(CONTRACT);
46676 }
46677 break;
46678 case MESSAGE:
46679 enterOuterAlt(_localctx, 17);
46680 {
46681 setState(6519);
46682 match(MESSAGE);
46683 setState(6520);
46684 match(TYPE);
46685 }
46686 break;
46687 case REMOTE:
46688 enterOuterAlt(_localctx, 18);
46689 {
46690 setState(6521);
46691 match(REMOTE);
46692 setState(6522);
46693 match(SERVICE);
46694 setState(6523);
46695 match(BINDING);
46696 }
46697 break;
46698 case ROUTE:
46699 enterOuterAlt(_localctx, 19);
46700 {
46701 setState(6524);
46702 match(ROUTE);
46703 }
46704 break;
46705 case SERVICE:
46706 enterOuterAlt(_localctx, 20);
46707 {
46708 setState(6525);
46709 match(SERVICE);
46710 }
46711 break;
46712 case SYMMETRIC:
46713 enterOuterAlt(_localctx, 21);
46714 {
46715 setState(6526);
46716 match(SYMMETRIC);
46717 setState(6527);
46718 match(KEY);
46719 }
46720 break;
46721 case SELECT:
46722 enterOuterAlt(_localctx, 22);
46723 {
46724 setState(6528);
46725 match(SELECT);
46726 }
46727 break;
46728 case EXECUTE:
46729 enterOuterAlt(_localctx, 23);
46730 {
46731 setState(6529);
46732 match(EXECUTE);
46733 }
46734 break;
46735 case TYPE:
46736 enterOuterAlt(_localctx, 24);
46737 {
46738 setState(6530);
46739 match(TYPE);
46740 }
46741 break;
46742 case XML:
46743 enterOuterAlt(_localctx, 25);
46744 {
46745 setState(6531);
46746 match(XML);
46747 setState(6532);
46748 match(SCHEMA);
46749 setState(6533);
46750 match(COLLECTION);
46751 }
46752 break;
46753 default:
46754 throw new NoViableAltException(this);
46755 }
46756 }
46757 catch (RecognitionException re) {
46758 _localctx.exception = re;
46759 _errHandler.reportError(this, re);
46760 _errHandler.recover(this, re);
46761 }
46762 finally {
46763 exitRule();
46764 }
46765 return _localctx;
46766 }
46767
46768 public static class ClassTypeContext extends ParserRuleContext {
46769 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
46770 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
46771 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
46772 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
46773 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
46774 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
46775 public ClassTypeContext(ParserRuleContext parent, int invokingState) {
46776 super(parent, invokingState);
46777 }
46778 @Override public int getRuleIndex() { return RULE_classType; }
46779 @Override
46780 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46781 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassType(this);
46782 else return visitor.visitChildren(this);
46783 }
46784 }
46785
46786 public final ClassTypeContext classType() throws RecognitionException {
46787 ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState());
46788 enterRule(_localctx, 890, RULE_classType);
46789 int _la;
46790 try {
46791 enterOuterAlt(_localctx, 1);
46792 {
46793 setState(6536);
46794 _la = _input.LA(1);
46795 if ( !(_la==SCHEMA || ((((_la - 204)) & ~0x3f) == 0 && ((1L << (_la - 204)) & ((1L << (DATABASE - 204)) | (1L << (USER - 204)) | (1L << (ROLE - 204)))) != 0) || _la==LOGIN || _la==OBJECT) ) {
46796 _errHandler.recoverInline(this);
46797 }
46798 else {
46799 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46800 _errHandler.reportMatch(this);
46801 consume();
46802 }
46803 }
46804 }
46805 catch (RecognitionException re) {
46806 _localctx.exception = re;
46807 _errHandler.reportError(this, re);
46808 _errHandler.recover(this, re);
46809 }
46810 finally {
46811 exitRule();
46812 }
46813 return _localctx;
46814 }
46815
46816 public static class RoleClauseContext extends ParserRuleContext {
46817 public IgnoredIdentifiersContext ignoredIdentifiers() {
46818 return getRuleContext(IgnoredIdentifiersContext.class,0);
46819 }
46820 public RoleClauseContext(ParserRuleContext parent, int invokingState) {
46821 super(parent, invokingState);
46822 }
46823 @Override public int getRuleIndex() { return RULE_roleClause; }
46824 @Override
46825 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46826 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRoleClause(this);
46827 else return visitor.visitChildren(this);
46828 }
46829 }
46830
46831 public final RoleClauseContext roleClause() throws RecognitionException {
46832 RoleClauseContext _localctx = new RoleClauseContext(_ctx, getState());
46833 enterRule(_localctx, 892, RULE_roleClause);
46834 try {
46835 enterOuterAlt(_localctx, 1);
46836 {
46837 setState(6538);
46838 ignoredIdentifiers();
46839 }
46840 }
46841 catch (RecognitionException re) {
46842 _localctx.exception = re;
46843 _errHandler.reportError(this, re);
46844 _errHandler.recover(this, re);
46845 }
46846 finally {
46847 exitRule();
46848 }
46849 return _localctx;
46850 }
46851
46852 public static class SetUserContext extends ParserRuleContext {
46853 public TerminalNode SETUSER() { return getToken(SQLServerStatementParser.SETUSER, 0); }
46854 public StringLiteralsContext stringLiterals() {
46855 return getRuleContext(StringLiteralsContext.class,0);
46856 }
46857 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
46858 public TerminalNode NORESET() { return getToken(SQLServerStatementParser.NORESET, 0); }
46859 public SetUserContext(ParserRuleContext parent, int invokingState) {
46860 super(parent, invokingState);
46861 }
46862 @Override public int getRuleIndex() { return RULE_setUser; }
46863 @Override
46864 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46865 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetUser(this);
46866 else return visitor.visitChildren(this);
46867 }
46868 }
46869
46870 public final SetUserContext setUser() throws RecognitionException {
46871 SetUserContext _localctx = new SetUserContext(_ctx, getState());
46872 enterRule(_localctx, 894, RULE_setUser);
46873 int _la;
46874 try {
46875 enterOuterAlt(_localctx, 1);
46876 {
46877 setState(6540);
46878 match(SETUSER);
46879 setState(6546);
46880 _errHandler.sync(this);
46881 _la = _input.LA(1);
46882 if (_la==STRING_ || _la==NCHAR_TEXT) {
46883 {
46884 setState(6541);
46885 stringLiterals();
46886 setState(6544);
46887 _errHandler.sync(this);
46888 _la = _input.LA(1);
46889 if (_la==WITH) {
46890 {
46891 setState(6542);
46892 match(WITH);
46893 setState(6543);
46894 match(NORESET);
46895 }
46896 }
46897
46898 }
46899 }
46900
46901 }
46902 }
46903 catch (RecognitionException re) {
46904 _localctx.exception = re;
46905 _errHandler.reportError(this, re);
46906 _errHandler.recover(this, re);
46907 }
46908 finally {
46909 exitRule();
46910 }
46911 return _localctx;
46912 }
46913
46914 public static class CreateUserContext extends ParserRuleContext {
46915 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
46916 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
46917 public CreateUserLoginClauseContext createUserLoginClause() {
46918 return getRuleContext(CreateUserLoginClauseContext.class,0);
46919 }
46920 public CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() {
46921 return getRuleContext(CreateUserWindowsPrincipalClauseContext.class,0);
46922 }
46923 public CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() {
46924 return getRuleContext(CreateUserLoginWindowsPrincipalClauseContext.class,0);
46925 }
46926 public CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() {
46927 return getRuleContext(CreateUserWithoutLoginClauseContext.class,0);
46928 }
46929 public CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() {
46930 return getRuleContext(CreateUserFromExternalProviderClauseContext.class,0);
46931 }
46932 public CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() {
46933 return getRuleContext(CreateUserWithDefaultSchemaContext.class,0);
46934 }
46935 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() {
46936 return getRuleContext(CreateUserWithAzureActiveDirectoryPrincipalClauseContext.class,0);
46937 }
46938 public UserNameContext userName() {
46939 return getRuleContext(UserNameContext.class,0);
46940 }
46941 public CreateUserContext(ParserRuleContext parent, int invokingState) {
46942 super(parent, invokingState);
46943 }
46944 @Override public int getRuleIndex() { return RULE_createUser; }
46945 @Override
46946 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46947 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUser(this);
46948 else return visitor.visitChildren(this);
46949 }
46950 }
46951
46952 public final CreateUserContext createUser() throws RecognitionException {
46953 CreateUserContext _localctx = new CreateUserContext(_ctx, getState());
46954 enterRule(_localctx, 896, RULE_createUser);
46955 try {
46956 enterOuterAlt(_localctx, 1);
46957 {
46958 setState(6548);
46959 match(CREATE);
46960 setState(6549);
46961 match(USER);
46962 setState(6558);
46963 _errHandler.sync(this);
46964 switch ( getInterpreter().adaptivePredict(_input,751,_ctx) ) {
46965 case 1:
46966 {
46967 setState(6550);
46968 createUserLoginClause();
46969 }
46970 break;
46971 case 2:
46972 {
46973 setState(6551);
46974 createUserWindowsPrincipalClause();
46975 }
46976 break;
46977 case 3:
46978 {
46979 setState(6552);
46980 createUserLoginWindowsPrincipalClause();
46981 }
46982 break;
46983 case 4:
46984 {
46985 setState(6553);
46986 createUserWithoutLoginClause();
46987 }
46988 break;
46989 case 5:
46990 {
46991 setState(6554);
46992 createUserFromExternalProviderClause();
46993 }
46994 break;
46995 case 6:
46996 {
46997 setState(6555);
46998 createUserWithDefaultSchema();
46999 }
47000 break;
47001 case 7:
47002 {
47003 setState(6556);
47004 createUserWithAzureActiveDirectoryPrincipalClause();
47005 }
47006 break;
47007 case 8:
47008 {
47009 setState(6557);
47010 userName();
47011 }
47012 break;
47013 }
47014 }
47015 }
47016 catch (RecognitionException re) {
47017 _localctx.exception = re;
47018 _errHandler.reportError(this, re);
47019 _errHandler.recover(this, re);
47020 }
47021 finally {
47022 exitRule();
47023 }
47024 return _localctx;
47025 }
47026
47027 public static class CreateUserLoginClauseContext extends ParserRuleContext {
47028 public UserNameContext userName() {
47029 return getRuleContext(UserNameContext.class,0);
47030 }
47031 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47032 public IdentifierContext identifier() {
47033 return getRuleContext(IdentifierContext.class,0);
47034 }
47035 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47036 public List<LimitedOptionsListContext> limitedOptionsList() {
47037 return getRuleContexts(LimitedOptionsListContext.class);
47038 }
47039 public LimitedOptionsListContext limitedOptionsList(int i) {
47040 return getRuleContext(LimitedOptionsListContext.class,i);
47041 }
47042 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
47043 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47044 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
47045 public TerminalNode COMMA_(int i) {
47046 return getToken(SQLServerStatementParser.COMMA_, i);
47047 }
47048 public CreateUserLoginClauseContext(ParserRuleContext parent, int invokingState) {
47049 super(parent, invokingState);
47050 }
47051 @Override public int getRuleIndex() { return RULE_createUserLoginClause; }
47052 @Override
47053 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47054 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginClause(this);
47055 else return visitor.visitChildren(this);
47056 }
47057 }
47058
47059 public final CreateUserLoginClauseContext createUserLoginClause() throws RecognitionException {
47060 CreateUserLoginClauseContext _localctx = new CreateUserLoginClauseContext(_ctx, getState());
47061 enterRule(_localctx, 898, RULE_createUserLoginClause);
47062 int _la;
47063 try {
47064 enterOuterAlt(_localctx, 1);
47065 {
47066 setState(6560);
47067 userName();
47068 setState(6564);
47069 _errHandler.sync(this);
47070 _la = _input.LA(1);
47071 if (_la==FROM || _la==FOR) {
47072 {
47073 setState(6561);
47074 _la = _input.LA(1);
47075 if ( !(_la==FROM || _la==FOR) ) {
47076 _errHandler.recoverInline(this);
47077 }
47078 else {
47079 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47080 _errHandler.reportMatch(this);
47081 consume();
47082 }
47083 setState(6562);
47084 match(LOGIN);
47085 setState(6563);
47086 identifier();
47087 }
47088 }
47089
47090 setState(6575);
47091 _errHandler.sync(this);
47092 _la = _input.LA(1);
47093 if (_la==WITH) {
47094 {
47095 setState(6566);
47096 match(WITH);
47097 setState(6567);
47098 limitedOptionsList();
47099 setState(6572);
47100 _errHandler.sync(this);
47101 _la = _input.LA(1);
47102 while (_la==COMMA_) {
47103 {
47104 {
47105 setState(6568);
47106 match(COMMA_);
47107 setState(6569);
47108 limitedOptionsList();
47109 }
47110 }
47111 setState(6574);
47112 _errHandler.sync(this);
47113 _la = _input.LA(1);
47114 }
47115 }
47116 }
47117
47118 }
47119 }
47120 catch (RecognitionException re) {
47121 _localctx.exception = re;
47122 _errHandler.reportError(this, re);
47123 _errHandler.recover(this, re);
47124 }
47125 finally {
47126 exitRule();
47127 }
47128 return _localctx;
47129 }
47130
47131 public static class CreateUserWindowsPrincipalClauseContext extends ParserRuleContext {
47132 public WindowsPrincipalContext windowsPrincipal() {
47133 return getRuleContext(WindowsPrincipalContext.class,0);
47134 }
47135 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47136 public List<OptionsListContext> optionsList() {
47137 return getRuleContexts(OptionsListContext.class);
47138 }
47139 public OptionsListContext optionsList(int i) {
47140 return getRuleContext(OptionsListContext.class,i);
47141 }
47142 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
47143 public TerminalNode COMMA_(int i) {
47144 return getToken(SQLServerStatementParser.COMMA_, i);
47145 }
47146 public UserNameContext userName() {
47147 return getRuleContext(UserNameContext.class,0);
47148 }
47149 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
47150 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
47151 public StringLiteralsContext stringLiterals() {
47152 return getRuleContext(StringLiteralsContext.class,0);
47153 }
47154 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
47155 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
47156 }
47157 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47158 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
47159 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
47160 public CreateUserWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
47161 super(parent, invokingState);
47162 }
47163 @Override public int getRuleIndex() { return RULE_createUserWindowsPrincipalClause; }
47164 @Override
47165 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47166 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWindowsPrincipalClause(this);
47167 else return visitor.visitChildren(this);
47168 }
47169 }
47170
47171 public final CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() throws RecognitionException {
47172 CreateUserWindowsPrincipalClauseContext _localctx = new CreateUserWindowsPrincipalClauseContext(_ctx, getState());
47173 enterRule(_localctx, 900, RULE_createUserWindowsPrincipalClause);
47174 int _la;
47175 try {
47176 setState(6610);
47177 _errHandler.sync(this);
47178 switch ( getInterpreter().adaptivePredict(_input,759,_ctx) ) {
47179 case 1:
47180 enterOuterAlt(_localctx, 1);
47181 {
47182 setState(6577);
47183 windowsPrincipal();
47184 setState(6587);
47185 _errHandler.sync(this);
47186 _la = _input.LA(1);
47187 if (_la==WITH) {
47188 {
47189 setState(6578);
47190 match(WITH);
47191 setState(6579);
47192 optionsList();
47193 setState(6584);
47194 _errHandler.sync(this);
47195 _la = _input.LA(1);
47196 while (_la==COMMA_) {
47197 {
47198 {
47199 setState(6580);
47200 match(COMMA_);
47201 setState(6581);
47202 optionsList();
47203 }
47204 }
47205 setState(6586);
47206 _errHandler.sync(this);
47207 _la = _input.LA(1);
47208 }
47209 }
47210 }
47211
47212 }
47213 break;
47214 case 2:
47215 enterOuterAlt(_localctx, 2);
47216 {
47217 setState(6589);
47218 userName();
47219 setState(6590);
47220 match(WITH);
47221 setState(6591);
47222 match(PASSWORD);
47223 setState(6592);
47224 match(EQ_);
47225 setState(6593);
47226 stringLiterals();
47227 setState(6603);
47228 _errHandler.sync(this);
47229 _la = _input.LA(1);
47230 if (_la==COMMA_) {
47231 {
47232 setState(6594);
47233 match(COMMA_);
47234 setState(6595);
47235 optionsList();
47236 setState(6600);
47237 _errHandler.sync(this);
47238 _la = _input.LA(1);
47239 while (_la==COMMA_) {
47240 {
47241 {
47242 setState(6596);
47243 match(COMMA_);
47244 setState(6597);
47245 optionsList();
47246 }
47247 }
47248 setState(6602);
47249 _errHandler.sync(this);
47250 _la = _input.LA(1);
47251 }
47252 }
47253 }
47254
47255 }
47256 break;
47257 case 3:
47258 enterOuterAlt(_localctx, 3);
47259 {
47260 setState(6605);
47261 azureActiveDirectoryPrincipal();
47262 setState(6606);
47263 match(FROM);
47264 setState(6607);
47265 match(EXTERNAL);
47266 setState(6608);
47267 match(PROVIDER);
47268 }
47269 break;
47270 }
47271 }
47272 catch (RecognitionException re) {
47273 _localctx.exception = re;
47274 _errHandler.reportError(this, re);
47275 _errHandler.recover(this, re);
47276 }
47277 finally {
47278 exitRule();
47279 }
47280 return _localctx;
47281 }
47282
47283 public static class CreateUserLoginWindowsPrincipalClauseContext extends ParserRuleContext {
47284 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47285 public List<LimitedOptionsListContext> limitedOptionsList() {
47286 return getRuleContexts(LimitedOptionsListContext.class);
47287 }
47288 public LimitedOptionsListContext limitedOptionsList(int i) {
47289 return getRuleContext(LimitedOptionsListContext.class,i);
47290 }
47291 public List<WindowsPrincipalContext> windowsPrincipal() {
47292 return getRuleContexts(WindowsPrincipalContext.class);
47293 }
47294 public WindowsPrincipalContext windowsPrincipal(int i) {
47295 return getRuleContext(WindowsPrincipalContext.class,i);
47296 }
47297 public UserNameContext userName() {
47298 return getRuleContext(UserNameContext.class,0);
47299 }
47300 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47301 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
47302 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47303 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
47304 public TerminalNode COMMA_(int i) {
47305 return getToken(SQLServerStatementParser.COMMA_, i);
47306 }
47307 public CreateUserLoginWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
47308 super(parent, invokingState);
47309 }
47310 @Override public int getRuleIndex() { return RULE_createUserLoginWindowsPrincipalClause; }
47311 @Override
47312 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47313 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginWindowsPrincipalClause(this);
47314 else return visitor.visitChildren(this);
47315 }
47316 }
47317
47318 public final CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() throws RecognitionException {
47319 CreateUserLoginWindowsPrincipalClauseContext _localctx = new CreateUserLoginWindowsPrincipalClauseContext(_ctx, getState());
47320 enterRule(_localctx, 902, RULE_createUserLoginWindowsPrincipalClause);
47321 int _la;
47322 try {
47323 enterOuterAlt(_localctx, 1);
47324 {
47325 setState(6623);
47326 _errHandler.sync(this);
47327 switch ( getInterpreter().adaptivePredict(_input,761,_ctx) ) {
47328 case 1:
47329 {
47330 {
47331 setState(6612);
47332 windowsPrincipal();
47333 setState(6616);
47334 _errHandler.sync(this);
47335 _la = _input.LA(1);
47336 if (_la==FROM || _la==FOR) {
47337 {
47338 setState(6613);
47339 _la = _input.LA(1);
47340 if ( !(_la==FROM || _la==FOR) ) {
47341 _errHandler.recoverInline(this);
47342 }
47343 else {
47344 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47345 _errHandler.reportMatch(this);
47346 consume();
47347 }
47348 setState(6614);
47349 match(LOGIN);
47350 setState(6615);
47351 windowsPrincipal();
47352 }
47353 }
47354
47355 }
47356 }
47357 break;
47358 case 2:
47359 {
47360 {
47361 setState(6618);
47362 userName();
47363 setState(6619);
47364 _la = _input.LA(1);
47365 if ( !(_la==FROM || _la==FOR) ) {
47366 _errHandler.recoverInline(this);
47367 }
47368 else {
47369 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47370 _errHandler.reportMatch(this);
47371 consume();
47372 }
47373 setState(6620);
47374 match(LOGIN);
47375 setState(6621);
47376 windowsPrincipal();
47377 }
47378 }
47379 break;
47380 }
47381 setState(6634);
47382 _errHandler.sync(this);
47383 _la = _input.LA(1);
47384 if (_la==WITH) {
47385 {
47386 setState(6625);
47387 match(WITH);
47388 setState(6626);
47389 limitedOptionsList();
47390 setState(6631);
47391 _errHandler.sync(this);
47392 _la = _input.LA(1);
47393 while (_la==COMMA_) {
47394 {
47395 {
47396 setState(6627);
47397 match(COMMA_);
47398 setState(6628);
47399 limitedOptionsList();
47400 }
47401 }
47402 setState(6633);
47403 _errHandler.sync(this);
47404 _la = _input.LA(1);
47405 }
47406 }
47407 }
47408
47409 }
47410 }
47411 catch (RecognitionException re) {
47412 _localctx.exception = re;
47413 _errHandler.reportError(this, re);
47414 _errHandler.recover(this, re);
47415 }
47416 finally {
47417 exitRule();
47418 }
47419 return _localctx;
47420 }
47421
47422 public static class CreateUserWithoutLoginClauseContext extends ParserRuleContext {
47423 public UserNameContext userName() {
47424 return getRuleContext(UserNameContext.class,0);
47425 }
47426 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
47427 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47428 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
47429 public IdentifierContext identifier() {
47430 return getRuleContext(IdentifierContext.class,0);
47431 }
47432 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
47433 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
47434 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
47435 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47436 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47437 public List<LimitedOptionsListContext> limitedOptionsList() {
47438 return getRuleContexts(LimitedOptionsListContext.class);
47439 }
47440 public LimitedOptionsListContext limitedOptionsList(int i) {
47441 return getRuleContext(LimitedOptionsListContext.class,i);
47442 }
47443 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
47444 public TerminalNode COMMA_(int i) {
47445 return getToken(SQLServerStatementParser.COMMA_, i);
47446 }
47447 public CreateUserWithoutLoginClauseContext(ParserRuleContext parent, int invokingState) {
47448 super(parent, invokingState);
47449 }
47450 @Override public int getRuleIndex() { return RULE_createUserWithoutLoginClause; }
47451 @Override
47452 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47453 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithoutLoginClause(this);
47454 else return visitor.visitChildren(this);
47455 }
47456 }
47457
47458 public final CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() throws RecognitionException {
47459 CreateUserWithoutLoginClauseContext _localctx = new CreateUserWithoutLoginClauseContext(_ctx, getState());
47460 enterRule(_localctx, 904, RULE_createUserWithoutLoginClause);
47461 int _la;
47462 try {
47463 enterOuterAlt(_localctx, 1);
47464 {
47465 setState(6636);
47466 userName();
47467 setState(6657);
47468 _errHandler.sync(this);
47469 switch ( getInterpreter().adaptivePredict(_input,766,_ctx) ) {
47470 case 1:
47471 {
47472 setState(6637);
47473 match(WITHOUT);
47474 setState(6638);
47475 match(LOGIN);
47476 setState(6648);
47477 _errHandler.sync(this);
47478 _la = _input.LA(1);
47479 if (_la==WITH) {
47480 {
47481 setState(6639);
47482 match(WITH);
47483 setState(6640);
47484 limitedOptionsList();
47485 setState(6645);
47486 _errHandler.sync(this);
47487 _la = _input.LA(1);
47488 while (_la==COMMA_) {
47489 {
47490 {
47491 setState(6641);
47492 match(COMMA_);
47493 setState(6642);
47494 limitedOptionsList();
47495 }
47496 }
47497 setState(6647);
47498 _errHandler.sync(this);
47499 _la = _input.LA(1);
47500 }
47501 }
47502 }
47503
47504 }
47505 break;
47506 case 2:
47507 {
47508 setState(6650);
47509 _la = _input.LA(1);
47510 if ( !(_la==FROM || _la==FOR) ) {
47511 _errHandler.recoverInline(this);
47512 }
47513 else {
47514 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47515 _errHandler.reportMatch(this);
47516 consume();
47517 }
47518 setState(6651);
47519 match(CERTIFICATE);
47520 setState(6652);
47521 identifier();
47522 }
47523 break;
47524 case 3:
47525 {
47526 setState(6653);
47527 _la = _input.LA(1);
47528 if ( !(_la==FROM || _la==FOR) ) {
47529 _errHandler.recoverInline(this);
47530 }
47531 else {
47532 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47533 _errHandler.reportMatch(this);
47534 consume();
47535 }
47536 setState(6654);
47537 match(ASYMMETRIC);
47538 setState(6655);
47539 match(KEY);
47540 setState(6656);
47541 identifier();
47542 }
47543 break;
47544 }
47545 }
47546 }
47547 catch (RecognitionException re) {
47548 _localctx.exception = re;
47549 _errHandler.reportError(this, re);
47550 _errHandler.recover(this, re);
47551 }
47552 finally {
47553 exitRule();
47554 }
47555 return _localctx;
47556 }
47557
47558 public static class OptionsListContext extends ParserRuleContext {
47559 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
47560 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
47561 public SchemaNameContext schemaName() {
47562 return getRuleContext(SchemaNameContext.class,0);
47563 }
47564 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
47565 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
47566 public IdentifierContext identifier() {
47567 return getRuleContext(IdentifierContext.class,0);
47568 }
47569 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
47570 public SidContext sid() {
47571 return getRuleContext(SidContext.class,0);
47572 }
47573 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
47574 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
47575 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
47576 public OptionsListContext(ParserRuleContext parent, int invokingState) {
47577 super(parent, invokingState);
47578 }
47579 @Override public int getRuleIndex() { return RULE_optionsList; }
47580 @Override
47581 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47582 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionsList(this);
47583 else return visitor.visitChildren(this);
47584 }
47585 }
47586
47587 public final OptionsListContext optionsList() throws RecognitionException {
47588 OptionsListContext _localctx = new OptionsListContext(_ctx, getState());
47589 enterRule(_localctx, 906, RULE_optionsList);
47590 int _la;
47591 try {
47592 setState(6676);
47593 _errHandler.sync(this);
47594 switch (_input.LA(1)) {
47595 case DEFAULT_SCHEMA:
47596 enterOuterAlt(_localctx, 1);
47597 {
47598 setState(6659);
47599 match(DEFAULT_SCHEMA);
47600 setState(6660);
47601 match(EQ_);
47602 setState(6661);
47603 schemaName();
47604 }
47605 break;
47606 case DEFAULT_LANGUAGE:
47607 enterOuterAlt(_localctx, 2);
47608 {
47609 setState(6662);
47610 match(DEFAULT_LANGUAGE);
47611 setState(6663);
47612 match(EQ_);
47613 setState(6666);
47614 _errHandler.sync(this);
47615 switch (_input.LA(1)) {
47616 case NONE:
47617 {
47618 setState(6664);
47619 match(NONE);
47620 }
47621 break;
47622 case TRUNCATE:
47623 case SCHEMA:
47624 case COLUMNS:
47625 case PRECISION:
47626 case FUNCTION:
47627 case TRIGGER:
47628 case CAST:
47629 case SUBSTRING:
47630 case OFF:
47631 case GROUP:
47632 case LIMIT:
47633 case OFFSET:
47634 case SAVEPOINT:
47635 case BOOLEAN:
47636 case ARRAY:
47637 case DATE:
47638 case LOCALTIME:
47639 case LOCALTIMESTAMP:
47640 case QUARTER:
47641 case MONTH:
47642 case WEEK:
47643 case DAY:
47644 case SECOND:
47645 case MICROSECOND:
47646 case MAX:
47647 case MIN:
47648 case SUM:
47649 case COUNT:
47650 case AVG:
47651 case ENABLE:
47652 case DISABLE:
47653 case INSTANCE:
47654 case DO:
47655 case DEFINER:
47656 case SQL:
47657 case CASCADED:
47658 case LOCAL:
47659 case NEXT:
47660 case NAME:
47661 case INTEGER:
47662 case TYPE:
47663 case TEXT:
47664 case VIEWS:
47665 case READ_ONLY:
47666 case DATABASE:
47667 case RETURNS:
47668 case DATEPART:
47669 case PASSWORD:
47670 case BINARY:
47671 case HIDDEN_:
47672 case MOD:
47673 case PARTITION:
47674 case PARTITIONS:
47675 case TOP:
47676 case ROW:
47677 case ROWS:
47678 case XOR:
47679 case ALWAYS:
47680 case ROLE:
47681 case START:
47682 case ALGORITHM:
47683 case AUTO:
47684 case BLOCKERS:
47685 case CLUSTERED:
47686 case NONCLUSTERED:
47687 case COLUMNSTORE:
47688 case CONTENT:
47689 case YEARS:
47690 case MONTHS:
47691 case WEEKS:
47692 case DAYS:
47693 case MINUTES:
47694 case DENY:
47695 case DETERMINISTIC:
47696 case DISTRIBUTION:
47697 case DOCUMENT:
47698 case DURABILITY:
47699 case ENCRYPTED:
47700 case FILESTREAM:
47701 case FILETABLE:
47702 case FILLFACTOR:
47703 case FOLLOWING:
47704 case HASH:
47705 case HEAP:
47706 case INBOUND:
47707 case OUTBOUND:
47708 case UNBOUNDED:
47709 case INFINITE:
47710 case LOGIN:
47711 case MASKED:
47712 case MAXDOP:
47713 case MOVE:
47714 case NOCHECK:
47715 case OBJECT:
47716 case ONLINE:
47717 case OVER:
47718 case PAGE:
47719 case PAUSED:
47720 case PERIOD:
47721 case PERSISTED:
47722 case PRECEDING:
47723 case RANDOMIZED:
47724 case RANGE:
47725 case REBUILD:
47726 case REPLICATE:
47727 case REPLICATION:
47728 case RESUMABLE:
47729 case ROWGUIDCOL:
47730 case SAVE:
47731 case SELF:
47732 case SPARSE:
47733 case SWITCH:
47734 case TRAN:
47735 case TRANCOUNT:
47736 case CONTROL:
47737 case CONCAT:
47738 case TAKE:
47739 case OWNERSHIP:
47740 case DEFINITION:
47741 case APPLICATION:
47742 case ASSEMBLY:
47743 case SYMMETRIC:
47744 case ASYMMETRIC:
47745 case SERVER:
47746 case RECEIVE:
47747 case CHANGE:
47748 case TRACE:
47749 case TRACKING:
47750 case RESOURCES:
47751 case SETTINGS:
47752 case STATE:
47753 case AVAILABILITY:
47754 case CREDENTIAL:
47755 case ENDPOINT:
47756 case EVENT:
47757 case NOTIFICATION:
47758 case LINKED:
47759 case AUDIT:
47760 case DDL:
47761 case XML:
47762 case IMPERSONATE:
47763 case SECURABLES:
47764 case AUTHENTICATE:
47765 case EXTERNAL:
47766 case ACCESS:
47767 case ADMINISTER:
47768 case BULK:
47769 case OPERATIONS:
47770 case UNSAFE:
47771 case SHUTDOWN:
47772 case SCOPED:
47773 case CONFIGURATION:
47774 case DATASPACE:
47775 case SERVICE:
47776 case CERTIFICATE:
47777 case CONTRACT:
47778 case ENCRYPTION:
47779 case MASTER:
47780 case DATA:
47781 case SOURCE:
47782 case FILE:
47783 case FORMAT:
47784 case LIBRARY:
47785 case FULLTEXT:
47786 case MASK:
47787 case UNMASK:
47788 case MESSAGE:
47789 case REMOTE:
47790 case BINDING:
47791 case ROUTE:
47792 case SECURITY:
47793 case POLICY:
47794 case AGGREGATE:
47795 case QUEUE:
47796 case RULE:
47797 case SYNONYM:
47798 case COLLECTION:
47799 case SCRIPT:
47800 case KILL:
47801 case BACKUP:
47802 case LOG:
47803 case SHOWPLAN:
47804 case SUBSCRIBE:
47805 case QUERY:
47806 case NOTIFICATIONS:
47807 case CHECKPOINT:
47808 case SEQUENCE:
47809 case ABORT_AFTER_WAIT:
47810 case ALLOW_PAGE_LOCKS:
47811 case ALLOW_ROW_LOCKS:
47812 case ALL_SPARSE_COLUMNS:
47813 case BUCKET_COUNT:
47814 case COLUMNSTORE_ARCHIVE:
47815 case COLUMN_ENCRYPTION_KEY:
47816 case COLUMN_SET:
47817 case COMPRESSION_DELAY:
47818 case DATABASE_DEAULT:
47819 case DATA_COMPRESSION:
47820 case DATA_CONSISTENCY_CHECK:
47821 case ENCRYPTION_TYPE:
47822 case SYSTEM_TIME:
47823 case SYSTEM_VERSIONING:
47824 case TEXTIMAGE_ON:
47825 case WAIT_AT_LOW_PRIORITY:
47826 case STATISTICS_INCREMENTAL:
47827 case STATISTICS_NORECOMPUTE:
47828 case ROUND_ROBIN:
47829 case SCHEMA_AND_DATA:
47830 case SCHEMA_ONLY:
47831 case SORT_IN_TEMPDB:
47832 case IGNORE_DUP_KEY:
47833 case IMPLICIT_TRANSACTIONS:
47834 case MAX_DURATION:
47835 case MEMORY_OPTIMIZED:
47836 case MIGRATION_STATE:
47837 case PAD_INDEX:
47838 case REMOTE_DATA_ARCHIVE:
47839 case FILESTREAM_ON:
47840 case FILETABLE_COLLATE_FILENAME:
47841 case FILETABLE_DIRECTORY:
47842 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
47843 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
47844 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
47845 case FILTER_PREDICATE:
47846 case HISTORY_RETENTION_PERIOD:
47847 case HISTORY_TABLE:
47848 case LOCK_ESCALATION:
47849 case DROP_EXISTING:
47850 case ROW_NUMBER:
47851 case FIRST:
47852 case DATETIME2:
47853 case OUTPUT:
47854 case INSERTED:
47855 case DELETED:
47856 case FILENAME:
47857 case SIZE:
47858 case MAXSIZE:
47859 case FILEGROWTH:
47860 case UNLIMITED:
47861 case KB:
47862 case MB:
47863 case GB:
47864 case TB:
47865 case CONTAINS:
47866 case MEMORY_OPTIMIZED_DATA:
47867 case FILEGROUP:
47868 case NON_TRANSACTED_ACCESS:
47869 case DB_CHAINING:
47870 case TRUSTWORTHY:
47871 case FORWARD_ONLY:
47872 case KEYSET:
47873 case FAST_FORWARD:
47874 case SCROLL_LOCKS:
47875 case OPTIMISTIC:
47876 case TYPE_WARNING:
47877 case SCHEMABINDING:
47878 case CALLER:
47879 case OWNER:
47880 case SNAPSHOT:
47881 case REPEATABLE:
47882 case SERIALIZABLE:
47883 case NATIVE_COMPILATION:
47884 case VIEW_METADATA:
47885 case INSTEAD:
47886 case APPEND:
47887 case INCREMENT:
47888 case CACHE:
47889 case MINVALUE:
47890 case MAXVALUE:
47891 case RESTART:
47892 case LOB_COMPACTION:
47893 case COMPRESS_ALL_ROW_GROUPS:
47894 case REORGANIZE:
47895 case RESUME:
47896 case PAUSE:
47897 case ABORT:
47898 case ACCELERATED_DATABASE_RECOVERY:
47899 case PERSISTENT_VERSION_STORE_FILEGROUP:
47900 case IMMEDIATE:
47901 case NO_WAIT:
47902 case TARGET_RECOVERY_TIME:
47903 case SECONDS:
47904 case HONOR_BROKER_PRIORITY:
47905 case ERROR_BROKER_CONVERSATIONS:
47906 case NEW_BROKER:
47907 case DISABLE_BROKER:
47908 case ENABLE_BROKER:
47909 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
47910 case READ_COMMITTED_SNAPSHOT:
47911 case ALLOW_SNAPSHOT_ISOLATION:
47912 case RECURSIVE_TRIGGERS:
47913 case QUOTED_IDENTIFIER:
47914 case NUMERIC_ROUNDABORT:
47915 case CONCAT_NULL_YIELDS_NULL:
47916 case COMPATIBILITY_LEVEL:
47917 case ARITHABORT:
47918 case ANSI_WARNINGS:
47919 case ANSI_PADDING:
47920 case ANSI_NULLS:
47921 case ANSI_NULL_DEFAULT:
47922 case PAGE_VERIFY:
47923 case CHECKSUM:
47924 case TORN_PAGE_DETECTION:
47925 case BULK_LOGGED:
47926 case RECOVERY:
47927 case TOTAL_EXECUTION_CPU_TIME_MS:
47928 case TOTAL_COMPILE_CPU_TIME_MS:
47929 case STALE_CAPTURE_POLICY_THRESHOLD:
47930 case EXECUTION_COUNT:
47931 case QUERY_CAPTURE_POLICY:
47932 case WAIT_STATS_CAPTURE_MODE:
47933 case MAX_PLANS_PER_QUERY:
47934 case QUERY_CAPTURE_MODE:
47935 case SIZE_BASED_CLEANUP_MODE:
47936 case INTERVAL_LENGTH_MINUTES:
47937 case MAX_STORAGE_SIZE_MB:
47938 case DATA_FLUSH_INTERVAL_SECONDS:
47939 case CLEANUP_POLICY:
47940 case CUSTOM:
47941 case STALE_QUERY_THRESHOLD_DAYS:
47942 case OPERATION_MODE:
47943 case QUERY_STORE:
47944 case CURSOR_DEFAULT:
47945 case GLOBAL:
47946 case CURSOR_CLOSE_ON_COMMIT:
47947 case HOURS:
47948 case CHANGE_RETENTION:
47949 case AUTO_CLEANUP:
47950 case CHANGE_TRACKING:
47951 case AUTOMATIC_TUNING:
47952 case FORCE_LAST_GOOD_PLAN:
47953 case AUTO_UPDATE_STATISTICS_ASYNC:
47954 case AUTO_UPDATE_STATISTICS:
47955 case AUTO_SHRINK:
47956 case AUTO_CREATE_STATISTICS:
47957 case INCREMENTAL:
47958 case AUTO_CLOSE:
47959 case DATA_RETENTION:
47960 case TEMPORAL_HISTORY_RETENTION:
47961 case EDITION:
47962 case MIXED_PAGE_ALLOCATION:
47963 case DISABLED:
47964 case ALLOWED:
47965 case HADR:
47966 case MULTI_USER:
47967 case RESTRICTED_USER:
47968 case SINGLE_USER:
47969 case OFFLINE:
47970 case EMERGENCY:
47971 case SUSPEND:
47972 case DATE_CORRELATION_OPTIMIZATION:
47973 case ELASTIC_POOL:
47974 case SERVICE_OBJECTIVE:
47975 case DATABASE_NAME:
47976 case ALLOW_CONNECTIONS:
47977 case GEO:
47978 case NAMED:
47979 case DATEFIRST:
47980 case BACKUP_STORAGE_REDUNDANCY:
47981 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
47982 case SECONDARY:
47983 case FAILOVER:
47984 case DEFAULT_FULLTEXT_LANGUAGE:
47985 case DEFAULT_LANGUAGE:
47986 case INLINE:
47987 case NESTED_TRIGGERS:
47988 case TRANSFORM_NOISE_WORDS:
47989 case TWO_DIGIT_YEAR_CUTOFF:
47990 case PERSISTENT_LOG_BUFFER:
47991 case DIRECTORY_NAME:
47992 case DATEFORMAT:
47993 case DELAYED_DURABILITY:
47994 case AUTHORIZATION:
47995 case TRANSFER:
47996 case PROVIDER:
47997 case SEARCH:
47998 case MEMBER:
47999 case IDENTIFIER_:
48000 case DELIMITED_IDENTIFIER_:
48001 {
48002 setState(6665);
48003 identifier();
48004 }
48005 break;
48006 default:
48007 throw new NoViableAltException(this);
48008 }
48009 }
48010 break;
48011 case SID:
48012 enterOuterAlt(_localctx, 3);
48013 {
48014 setState(6668);
48015 match(SID);
48016 setState(6669);
48017 match(EQ_);
48018 setState(6670);
48019 sid();
48020 }
48021 break;
48022 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
48023 enterOuterAlt(_localctx, 4);
48024 {
48025 setState(6671);
48026 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
48027 setState(6672);
48028 match(EQ_);
48029 setState(6674);
48030 _errHandler.sync(this);
48031 _la = _input.LA(1);
48032 if (_la==ON || _la==OFF) {
48033 {
48034 setState(6673);
48035 _la = _input.LA(1);
48036 if ( !(_la==ON || _la==OFF) ) {
48037 _errHandler.recoverInline(this);
48038 }
48039 else {
48040 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48041 _errHandler.reportMatch(this);
48042 consume();
48043 }
48044 }
48045 }
48046
48047 }
48048 break;
48049 default:
48050 throw new NoViableAltException(this);
48051 }
48052 }
48053 catch (RecognitionException re) {
48054 _localctx.exception = re;
48055 _errHandler.reportError(this, re);
48056 _errHandler.recover(this, re);
48057 }
48058 finally {
48059 exitRule();
48060 }
48061 return _localctx;
48062 }
48063
48064 public static class LimitedOptionsListContext extends ParserRuleContext {
48065 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
48066 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
48067 public SchemaNameContext schemaName() {
48068 return getRuleContext(SchemaNameContext.class,0);
48069 }
48070 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
48071 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
48072 public IdentifierContext identifier() {
48073 return getRuleContext(IdentifierContext.class,0);
48074 }
48075 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
48076 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
48077 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
48078 public LimitedOptionsListContext(ParserRuleContext parent, int invokingState) {
48079 super(parent, invokingState);
48080 }
48081 @Override public int getRuleIndex() { return RULE_limitedOptionsList; }
48082 @Override
48083 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48084 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLimitedOptionsList(this);
48085 else return visitor.visitChildren(this);
48086 }
48087 }
48088
48089 public final LimitedOptionsListContext limitedOptionsList() throws RecognitionException {
48090 LimitedOptionsListContext _localctx = new LimitedOptionsListContext(_ctx, getState());
48091 enterRule(_localctx, 908, RULE_limitedOptionsList);
48092 int _la;
48093 try {
48094 setState(6692);
48095 _errHandler.sync(this);
48096 switch (_input.LA(1)) {
48097 case DEFAULT_SCHEMA:
48098 enterOuterAlt(_localctx, 1);
48099 {
48100 setState(6678);
48101 match(DEFAULT_SCHEMA);
48102 setState(6679);
48103 match(EQ_);
48104 setState(6680);
48105 schemaName();
48106 }
48107 break;
48108 case DEFAULT_LANGUAGE:
48109 enterOuterAlt(_localctx, 2);
48110 {
48111 setState(6681);
48112 match(DEFAULT_LANGUAGE);
48113 setState(6682);
48114 match(EQ_);
48115 setState(6685);
48116 _errHandler.sync(this);
48117 switch (_input.LA(1)) {
48118 case NONE:
48119 {
48120 setState(6683);
48121 match(NONE);
48122 }
48123 break;
48124 case TRUNCATE:
48125 case SCHEMA:
48126 case COLUMNS:
48127 case PRECISION:
48128 case FUNCTION:
48129 case TRIGGER:
48130 case CAST:
48131 case SUBSTRING:
48132 case OFF:
48133 case GROUP:
48134 case LIMIT:
48135 case OFFSET:
48136 case SAVEPOINT:
48137 case BOOLEAN:
48138 case ARRAY:
48139 case DATE:
48140 case LOCALTIME:
48141 case LOCALTIMESTAMP:
48142 case QUARTER:
48143 case MONTH:
48144 case WEEK:
48145 case DAY:
48146 case SECOND:
48147 case MICROSECOND:
48148 case MAX:
48149 case MIN:
48150 case SUM:
48151 case COUNT:
48152 case AVG:
48153 case ENABLE:
48154 case DISABLE:
48155 case INSTANCE:
48156 case DO:
48157 case DEFINER:
48158 case SQL:
48159 case CASCADED:
48160 case LOCAL:
48161 case NEXT:
48162 case NAME:
48163 case INTEGER:
48164 case TYPE:
48165 case TEXT:
48166 case VIEWS:
48167 case READ_ONLY:
48168 case DATABASE:
48169 case RETURNS:
48170 case DATEPART:
48171 case PASSWORD:
48172 case BINARY:
48173 case HIDDEN_:
48174 case MOD:
48175 case PARTITION:
48176 case PARTITIONS:
48177 case TOP:
48178 case ROW:
48179 case ROWS:
48180 case XOR:
48181 case ALWAYS:
48182 case ROLE:
48183 case START:
48184 case ALGORITHM:
48185 case AUTO:
48186 case BLOCKERS:
48187 case CLUSTERED:
48188 case NONCLUSTERED:
48189 case COLUMNSTORE:
48190 case CONTENT:
48191 case YEARS:
48192 case MONTHS:
48193 case WEEKS:
48194 case DAYS:
48195 case MINUTES:
48196 case DENY:
48197 case DETERMINISTIC:
48198 case DISTRIBUTION:
48199 case DOCUMENT:
48200 case DURABILITY:
48201 case ENCRYPTED:
48202 case FILESTREAM:
48203 case FILETABLE:
48204 case FILLFACTOR:
48205 case FOLLOWING:
48206 case HASH:
48207 case HEAP:
48208 case INBOUND:
48209 case OUTBOUND:
48210 case UNBOUNDED:
48211 case INFINITE:
48212 case LOGIN:
48213 case MASKED:
48214 case MAXDOP:
48215 case MOVE:
48216 case NOCHECK:
48217 case OBJECT:
48218 case ONLINE:
48219 case OVER:
48220 case PAGE:
48221 case PAUSED:
48222 case PERIOD:
48223 case PERSISTED:
48224 case PRECEDING:
48225 case RANDOMIZED:
48226 case RANGE:
48227 case REBUILD:
48228 case REPLICATE:
48229 case REPLICATION:
48230 case RESUMABLE:
48231 case ROWGUIDCOL:
48232 case SAVE:
48233 case SELF:
48234 case SPARSE:
48235 case SWITCH:
48236 case TRAN:
48237 case TRANCOUNT:
48238 case CONTROL:
48239 case CONCAT:
48240 case TAKE:
48241 case OWNERSHIP:
48242 case DEFINITION:
48243 case APPLICATION:
48244 case ASSEMBLY:
48245 case SYMMETRIC:
48246 case ASYMMETRIC:
48247 case SERVER:
48248 case RECEIVE:
48249 case CHANGE:
48250 case TRACE:
48251 case TRACKING:
48252 case RESOURCES:
48253 case SETTINGS:
48254 case STATE:
48255 case AVAILABILITY:
48256 case CREDENTIAL:
48257 case ENDPOINT:
48258 case EVENT:
48259 case NOTIFICATION:
48260 case LINKED:
48261 case AUDIT:
48262 case DDL:
48263 case XML:
48264 case IMPERSONATE:
48265 case SECURABLES:
48266 case AUTHENTICATE:
48267 case EXTERNAL:
48268 case ACCESS:
48269 case ADMINISTER:
48270 case BULK:
48271 case OPERATIONS:
48272 case UNSAFE:
48273 case SHUTDOWN:
48274 case SCOPED:
48275 case CONFIGURATION:
48276 case DATASPACE:
48277 case SERVICE:
48278 case CERTIFICATE:
48279 case CONTRACT:
48280 case ENCRYPTION:
48281 case MASTER:
48282 case DATA:
48283 case SOURCE:
48284 case FILE:
48285 case FORMAT:
48286 case LIBRARY:
48287 case FULLTEXT:
48288 case MASK:
48289 case UNMASK:
48290 case MESSAGE:
48291 case REMOTE:
48292 case BINDING:
48293 case ROUTE:
48294 case SECURITY:
48295 case POLICY:
48296 case AGGREGATE:
48297 case QUEUE:
48298 case RULE:
48299 case SYNONYM:
48300 case COLLECTION:
48301 case SCRIPT:
48302 case KILL:
48303 case BACKUP:
48304 case LOG:
48305 case SHOWPLAN:
48306 case SUBSCRIBE:
48307 case QUERY:
48308 case NOTIFICATIONS:
48309 case CHECKPOINT:
48310 case SEQUENCE:
48311 case ABORT_AFTER_WAIT:
48312 case ALLOW_PAGE_LOCKS:
48313 case ALLOW_ROW_LOCKS:
48314 case ALL_SPARSE_COLUMNS:
48315 case BUCKET_COUNT:
48316 case COLUMNSTORE_ARCHIVE:
48317 case COLUMN_ENCRYPTION_KEY:
48318 case COLUMN_SET:
48319 case COMPRESSION_DELAY:
48320 case DATABASE_DEAULT:
48321 case DATA_COMPRESSION:
48322 case DATA_CONSISTENCY_CHECK:
48323 case ENCRYPTION_TYPE:
48324 case SYSTEM_TIME:
48325 case SYSTEM_VERSIONING:
48326 case TEXTIMAGE_ON:
48327 case WAIT_AT_LOW_PRIORITY:
48328 case STATISTICS_INCREMENTAL:
48329 case STATISTICS_NORECOMPUTE:
48330 case ROUND_ROBIN:
48331 case SCHEMA_AND_DATA:
48332 case SCHEMA_ONLY:
48333 case SORT_IN_TEMPDB:
48334 case IGNORE_DUP_KEY:
48335 case IMPLICIT_TRANSACTIONS:
48336 case MAX_DURATION:
48337 case MEMORY_OPTIMIZED:
48338 case MIGRATION_STATE:
48339 case PAD_INDEX:
48340 case REMOTE_DATA_ARCHIVE:
48341 case FILESTREAM_ON:
48342 case FILETABLE_COLLATE_FILENAME:
48343 case FILETABLE_DIRECTORY:
48344 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
48345 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
48346 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
48347 case FILTER_PREDICATE:
48348 case HISTORY_RETENTION_PERIOD:
48349 case HISTORY_TABLE:
48350 case LOCK_ESCALATION:
48351 case DROP_EXISTING:
48352 case ROW_NUMBER:
48353 case FIRST:
48354 case DATETIME2:
48355 case OUTPUT:
48356 case INSERTED:
48357 case DELETED:
48358 case FILENAME:
48359 case SIZE:
48360 case MAXSIZE:
48361 case FILEGROWTH:
48362 case UNLIMITED:
48363 case KB:
48364 case MB:
48365 case GB:
48366 case TB:
48367 case CONTAINS:
48368 case MEMORY_OPTIMIZED_DATA:
48369 case FILEGROUP:
48370 case NON_TRANSACTED_ACCESS:
48371 case DB_CHAINING:
48372 case TRUSTWORTHY:
48373 case FORWARD_ONLY:
48374 case KEYSET:
48375 case FAST_FORWARD:
48376 case SCROLL_LOCKS:
48377 case OPTIMISTIC:
48378 case TYPE_WARNING:
48379 case SCHEMABINDING:
48380 case CALLER:
48381 case OWNER:
48382 case SNAPSHOT:
48383 case REPEATABLE:
48384 case SERIALIZABLE:
48385 case NATIVE_COMPILATION:
48386 case VIEW_METADATA:
48387 case INSTEAD:
48388 case APPEND:
48389 case INCREMENT:
48390 case CACHE:
48391 case MINVALUE:
48392 case MAXVALUE:
48393 case RESTART:
48394 case LOB_COMPACTION:
48395 case COMPRESS_ALL_ROW_GROUPS:
48396 case REORGANIZE:
48397 case RESUME:
48398 case PAUSE:
48399 case ABORT:
48400 case ACCELERATED_DATABASE_RECOVERY:
48401 case PERSISTENT_VERSION_STORE_FILEGROUP:
48402 case IMMEDIATE:
48403 case NO_WAIT:
48404 case TARGET_RECOVERY_TIME:
48405 case SECONDS:
48406 case HONOR_BROKER_PRIORITY:
48407 case ERROR_BROKER_CONVERSATIONS:
48408 case NEW_BROKER:
48409 case DISABLE_BROKER:
48410 case ENABLE_BROKER:
48411 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
48412 case READ_COMMITTED_SNAPSHOT:
48413 case ALLOW_SNAPSHOT_ISOLATION:
48414 case RECURSIVE_TRIGGERS:
48415 case QUOTED_IDENTIFIER:
48416 case NUMERIC_ROUNDABORT:
48417 case CONCAT_NULL_YIELDS_NULL:
48418 case COMPATIBILITY_LEVEL:
48419 case ARITHABORT:
48420 case ANSI_WARNINGS:
48421 case ANSI_PADDING:
48422 case ANSI_NULLS:
48423 case ANSI_NULL_DEFAULT:
48424 case PAGE_VERIFY:
48425 case CHECKSUM:
48426 case TORN_PAGE_DETECTION:
48427 case BULK_LOGGED:
48428 case RECOVERY:
48429 case TOTAL_EXECUTION_CPU_TIME_MS:
48430 case TOTAL_COMPILE_CPU_TIME_MS:
48431 case STALE_CAPTURE_POLICY_THRESHOLD:
48432 case EXECUTION_COUNT:
48433 case QUERY_CAPTURE_POLICY:
48434 case WAIT_STATS_CAPTURE_MODE:
48435 case MAX_PLANS_PER_QUERY:
48436 case QUERY_CAPTURE_MODE:
48437 case SIZE_BASED_CLEANUP_MODE:
48438 case INTERVAL_LENGTH_MINUTES:
48439 case MAX_STORAGE_SIZE_MB:
48440 case DATA_FLUSH_INTERVAL_SECONDS:
48441 case CLEANUP_POLICY:
48442 case CUSTOM:
48443 case STALE_QUERY_THRESHOLD_DAYS:
48444 case OPERATION_MODE:
48445 case QUERY_STORE:
48446 case CURSOR_DEFAULT:
48447 case GLOBAL:
48448 case CURSOR_CLOSE_ON_COMMIT:
48449 case HOURS:
48450 case CHANGE_RETENTION:
48451 case AUTO_CLEANUP:
48452 case CHANGE_TRACKING:
48453 case AUTOMATIC_TUNING:
48454 case FORCE_LAST_GOOD_PLAN:
48455 case AUTO_UPDATE_STATISTICS_ASYNC:
48456 case AUTO_UPDATE_STATISTICS:
48457 case AUTO_SHRINK:
48458 case AUTO_CREATE_STATISTICS:
48459 case INCREMENTAL:
48460 case AUTO_CLOSE:
48461 case DATA_RETENTION:
48462 case TEMPORAL_HISTORY_RETENTION:
48463 case EDITION:
48464 case MIXED_PAGE_ALLOCATION:
48465 case DISABLED:
48466 case ALLOWED:
48467 case HADR:
48468 case MULTI_USER:
48469 case RESTRICTED_USER:
48470 case SINGLE_USER:
48471 case OFFLINE:
48472 case EMERGENCY:
48473 case SUSPEND:
48474 case DATE_CORRELATION_OPTIMIZATION:
48475 case ELASTIC_POOL:
48476 case SERVICE_OBJECTIVE:
48477 case DATABASE_NAME:
48478 case ALLOW_CONNECTIONS:
48479 case GEO:
48480 case NAMED:
48481 case DATEFIRST:
48482 case BACKUP_STORAGE_REDUNDANCY:
48483 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
48484 case SECONDARY:
48485 case FAILOVER:
48486 case DEFAULT_FULLTEXT_LANGUAGE:
48487 case DEFAULT_LANGUAGE:
48488 case INLINE:
48489 case NESTED_TRIGGERS:
48490 case TRANSFORM_NOISE_WORDS:
48491 case TWO_DIGIT_YEAR_CUTOFF:
48492 case PERSISTENT_LOG_BUFFER:
48493 case DIRECTORY_NAME:
48494 case DATEFORMAT:
48495 case DELAYED_DURABILITY:
48496 case AUTHORIZATION:
48497 case TRANSFER:
48498 case PROVIDER:
48499 case SEARCH:
48500 case MEMBER:
48501 case IDENTIFIER_:
48502 case DELIMITED_IDENTIFIER_:
48503 {
48504 setState(6684);
48505 identifier();
48506 }
48507 break;
48508 default:
48509 throw new NoViableAltException(this);
48510 }
48511 }
48512 break;
48513 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
48514 enterOuterAlt(_localctx, 3);
48515 {
48516 setState(6687);
48517 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
48518 setState(6688);
48519 match(EQ_);
48520 setState(6690);
48521 _errHandler.sync(this);
48522 _la = _input.LA(1);
48523 if (_la==ON || _la==OFF) {
48524 {
48525 setState(6689);
48526 _la = _input.LA(1);
48527 if ( !(_la==ON || _la==OFF) ) {
48528 _errHandler.recoverInline(this);
48529 }
48530 else {
48531 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48532 _errHandler.reportMatch(this);
48533 consume();
48534 }
48535 }
48536 }
48537
48538 }
48539 break;
48540 default:
48541 throw new NoViableAltException(this);
48542 }
48543 }
48544 catch (RecognitionException re) {
48545 _localctx.exception = re;
48546 _errHandler.reportError(this, re);
48547 _errHandler.recover(this, re);
48548 }
48549 finally {
48550 exitRule();
48551 }
48552 return _localctx;
48553 }
48554
48555 public static class CreateUserFromExternalProviderClauseContext extends ParserRuleContext {
48556 public UserNameContext userName() {
48557 return getRuleContext(UserNameContext.class,0);
48558 }
48559 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48560 public IdentifierContext identifier() {
48561 return getRuleContext(IdentifierContext.class,0);
48562 }
48563 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
48564 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48565 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
48566 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
48567 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48568 public List<LimitedOptionsListContext> limitedOptionsList() {
48569 return getRuleContexts(LimitedOptionsListContext.class);
48570 }
48571 public LimitedOptionsListContext limitedOptionsList(int i) {
48572 return getRuleContext(LimitedOptionsListContext.class,i);
48573 }
48574 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48575 public TerminalNode COMMA_(int i) {
48576 return getToken(SQLServerStatementParser.COMMA_, i);
48577 }
48578 public CreateUserFromExternalProviderClauseContext(ParserRuleContext parent, int invokingState) {
48579 super(parent, invokingState);
48580 }
48581 @Override public int getRuleIndex() { return RULE_createUserFromExternalProviderClause; }
48582 @Override
48583 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48584 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserFromExternalProviderClause(this);
48585 else return visitor.visitChildren(this);
48586 }
48587 }
48588
48589 public final CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() throws RecognitionException {
48590 CreateUserFromExternalProviderClauseContext _localctx = new CreateUserFromExternalProviderClauseContext(_ctx, getState());
48591 enterRule(_localctx, 910, RULE_createUserFromExternalProviderClause);
48592 int _la;
48593 try {
48594 setState(6714);
48595 _errHandler.sync(this);
48596 switch (_input.LA(1)) {
48597 case TRUNCATE:
48598 case SCHEMA:
48599 case COLUMNS:
48600 case PRECISION:
48601 case FUNCTION:
48602 case TRIGGER:
48603 case CAST:
48604 case SUBSTRING:
48605 case OFF:
48606 case GROUP:
48607 case LIMIT:
48608 case OFFSET:
48609 case SAVEPOINT:
48610 case BOOLEAN:
48611 case ARRAY:
48612 case DATE:
48613 case LOCALTIME:
48614 case LOCALTIMESTAMP:
48615 case QUARTER:
48616 case MONTH:
48617 case WEEK:
48618 case DAY:
48619 case SECOND:
48620 case MICROSECOND:
48621 case MAX:
48622 case MIN:
48623 case SUM:
48624 case COUNT:
48625 case AVG:
48626 case ENABLE:
48627 case DISABLE:
48628 case INSTANCE:
48629 case DO:
48630 case DEFINER:
48631 case SQL:
48632 case CASCADED:
48633 case LOCAL:
48634 case NEXT:
48635 case NAME:
48636 case INTEGER:
48637 case TYPE:
48638 case TEXT:
48639 case VIEWS:
48640 case READ_ONLY:
48641 case DATABASE:
48642 case RETURNS:
48643 case DATEPART:
48644 case PASSWORD:
48645 case BINARY:
48646 case HIDDEN_:
48647 case MOD:
48648 case PARTITION:
48649 case PARTITIONS:
48650 case TOP:
48651 case ROW:
48652 case ROWS:
48653 case XOR:
48654 case ALWAYS:
48655 case ROLE:
48656 case START:
48657 case ALGORITHM:
48658 case AUTO:
48659 case BLOCKERS:
48660 case CLUSTERED:
48661 case NONCLUSTERED:
48662 case COLUMNSTORE:
48663 case CONTENT:
48664 case YEARS:
48665 case MONTHS:
48666 case WEEKS:
48667 case DAYS:
48668 case MINUTES:
48669 case DENY:
48670 case DETERMINISTIC:
48671 case DISTRIBUTION:
48672 case DOCUMENT:
48673 case DURABILITY:
48674 case ENCRYPTED:
48675 case FILESTREAM:
48676 case FILETABLE:
48677 case FILLFACTOR:
48678 case FOLLOWING:
48679 case HASH:
48680 case HEAP:
48681 case INBOUND:
48682 case OUTBOUND:
48683 case UNBOUNDED:
48684 case INFINITE:
48685 case LOGIN:
48686 case MASKED:
48687 case MAXDOP:
48688 case MOVE:
48689 case NOCHECK:
48690 case OBJECT:
48691 case ONLINE:
48692 case OVER:
48693 case PAGE:
48694 case PAUSED:
48695 case PERIOD:
48696 case PERSISTED:
48697 case PRECEDING:
48698 case RANDOMIZED:
48699 case RANGE:
48700 case REBUILD:
48701 case REPLICATE:
48702 case REPLICATION:
48703 case RESUMABLE:
48704 case ROWGUIDCOL:
48705 case SAVE:
48706 case SELF:
48707 case SPARSE:
48708 case SWITCH:
48709 case TRAN:
48710 case TRANCOUNT:
48711 case CONTROL:
48712 case CONCAT:
48713 case TAKE:
48714 case OWNERSHIP:
48715 case DEFINITION:
48716 case APPLICATION:
48717 case ASSEMBLY:
48718 case SYMMETRIC:
48719 case ASYMMETRIC:
48720 case SERVER:
48721 case RECEIVE:
48722 case CHANGE:
48723 case TRACE:
48724 case TRACKING:
48725 case RESOURCES:
48726 case SETTINGS:
48727 case STATE:
48728 case AVAILABILITY:
48729 case CREDENTIAL:
48730 case ENDPOINT:
48731 case EVENT:
48732 case NOTIFICATION:
48733 case LINKED:
48734 case AUDIT:
48735 case DDL:
48736 case XML:
48737 case IMPERSONATE:
48738 case SECURABLES:
48739 case AUTHENTICATE:
48740 case EXTERNAL:
48741 case ACCESS:
48742 case ADMINISTER:
48743 case BULK:
48744 case OPERATIONS:
48745 case UNSAFE:
48746 case SHUTDOWN:
48747 case SCOPED:
48748 case CONFIGURATION:
48749 case DATASPACE:
48750 case SERVICE:
48751 case CERTIFICATE:
48752 case CONTRACT:
48753 case ENCRYPTION:
48754 case MASTER:
48755 case DATA:
48756 case SOURCE:
48757 case FILE:
48758 case FORMAT:
48759 case LIBRARY:
48760 case FULLTEXT:
48761 case MASK:
48762 case UNMASK:
48763 case MESSAGE:
48764 case REMOTE:
48765 case BINDING:
48766 case ROUTE:
48767 case SECURITY:
48768 case POLICY:
48769 case AGGREGATE:
48770 case QUEUE:
48771 case RULE:
48772 case SYNONYM:
48773 case COLLECTION:
48774 case SCRIPT:
48775 case KILL:
48776 case BACKUP:
48777 case LOG:
48778 case SHOWPLAN:
48779 case SUBSCRIBE:
48780 case QUERY:
48781 case NOTIFICATIONS:
48782 case CHECKPOINT:
48783 case SEQUENCE:
48784 case ABORT_AFTER_WAIT:
48785 case ALLOW_PAGE_LOCKS:
48786 case ALLOW_ROW_LOCKS:
48787 case ALL_SPARSE_COLUMNS:
48788 case BUCKET_COUNT:
48789 case COLUMNSTORE_ARCHIVE:
48790 case COLUMN_ENCRYPTION_KEY:
48791 case COLUMN_SET:
48792 case COMPRESSION_DELAY:
48793 case DATABASE_DEAULT:
48794 case DATA_COMPRESSION:
48795 case DATA_CONSISTENCY_CHECK:
48796 case ENCRYPTION_TYPE:
48797 case SYSTEM_TIME:
48798 case SYSTEM_VERSIONING:
48799 case TEXTIMAGE_ON:
48800 case WAIT_AT_LOW_PRIORITY:
48801 case STATISTICS_INCREMENTAL:
48802 case STATISTICS_NORECOMPUTE:
48803 case ROUND_ROBIN:
48804 case SCHEMA_AND_DATA:
48805 case SCHEMA_ONLY:
48806 case SORT_IN_TEMPDB:
48807 case IGNORE_DUP_KEY:
48808 case IMPLICIT_TRANSACTIONS:
48809 case MAX_DURATION:
48810 case MEMORY_OPTIMIZED:
48811 case MIGRATION_STATE:
48812 case PAD_INDEX:
48813 case REMOTE_DATA_ARCHIVE:
48814 case FILESTREAM_ON:
48815 case FILETABLE_COLLATE_FILENAME:
48816 case FILETABLE_DIRECTORY:
48817 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
48818 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
48819 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
48820 case FILTER_PREDICATE:
48821 case HISTORY_RETENTION_PERIOD:
48822 case HISTORY_TABLE:
48823 case LOCK_ESCALATION:
48824 case DROP_EXISTING:
48825 case ROW_NUMBER:
48826 case FIRST:
48827 case DATETIME2:
48828 case OUTPUT:
48829 case INSERTED:
48830 case DELETED:
48831 case FILENAME:
48832 case SIZE:
48833 case MAXSIZE:
48834 case FILEGROWTH:
48835 case UNLIMITED:
48836 case KB:
48837 case MB:
48838 case GB:
48839 case TB:
48840 case CONTAINS:
48841 case MEMORY_OPTIMIZED_DATA:
48842 case FILEGROUP:
48843 case NON_TRANSACTED_ACCESS:
48844 case DB_CHAINING:
48845 case TRUSTWORTHY:
48846 case FORWARD_ONLY:
48847 case KEYSET:
48848 case FAST_FORWARD:
48849 case SCROLL_LOCKS:
48850 case OPTIMISTIC:
48851 case TYPE_WARNING:
48852 case SCHEMABINDING:
48853 case CALLER:
48854 case OWNER:
48855 case SNAPSHOT:
48856 case REPEATABLE:
48857 case SERIALIZABLE:
48858 case NATIVE_COMPILATION:
48859 case VIEW_METADATA:
48860 case INSTEAD:
48861 case APPEND:
48862 case INCREMENT:
48863 case CACHE:
48864 case MINVALUE:
48865 case MAXVALUE:
48866 case RESTART:
48867 case LOB_COMPACTION:
48868 case COMPRESS_ALL_ROW_GROUPS:
48869 case REORGANIZE:
48870 case RESUME:
48871 case PAUSE:
48872 case ABORT:
48873 case ACCELERATED_DATABASE_RECOVERY:
48874 case PERSISTENT_VERSION_STORE_FILEGROUP:
48875 case IMMEDIATE:
48876 case NO_WAIT:
48877 case TARGET_RECOVERY_TIME:
48878 case SECONDS:
48879 case HONOR_BROKER_PRIORITY:
48880 case ERROR_BROKER_CONVERSATIONS:
48881 case NEW_BROKER:
48882 case DISABLE_BROKER:
48883 case ENABLE_BROKER:
48884 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
48885 case READ_COMMITTED_SNAPSHOT:
48886 case ALLOW_SNAPSHOT_ISOLATION:
48887 case RECURSIVE_TRIGGERS:
48888 case QUOTED_IDENTIFIER:
48889 case NUMERIC_ROUNDABORT:
48890 case CONCAT_NULL_YIELDS_NULL:
48891 case COMPATIBILITY_LEVEL:
48892 case ARITHABORT:
48893 case ANSI_WARNINGS:
48894 case ANSI_PADDING:
48895 case ANSI_NULLS:
48896 case ANSI_NULL_DEFAULT:
48897 case PAGE_VERIFY:
48898 case CHECKSUM:
48899 case TORN_PAGE_DETECTION:
48900 case BULK_LOGGED:
48901 case RECOVERY:
48902 case TOTAL_EXECUTION_CPU_TIME_MS:
48903 case TOTAL_COMPILE_CPU_TIME_MS:
48904 case STALE_CAPTURE_POLICY_THRESHOLD:
48905 case EXECUTION_COUNT:
48906 case QUERY_CAPTURE_POLICY:
48907 case WAIT_STATS_CAPTURE_MODE:
48908 case MAX_PLANS_PER_QUERY:
48909 case QUERY_CAPTURE_MODE:
48910 case SIZE_BASED_CLEANUP_MODE:
48911 case INTERVAL_LENGTH_MINUTES:
48912 case MAX_STORAGE_SIZE_MB:
48913 case DATA_FLUSH_INTERVAL_SECONDS:
48914 case CLEANUP_POLICY:
48915 case CUSTOM:
48916 case STALE_QUERY_THRESHOLD_DAYS:
48917 case OPERATION_MODE:
48918 case QUERY_STORE:
48919 case CURSOR_DEFAULT:
48920 case GLOBAL:
48921 case CURSOR_CLOSE_ON_COMMIT:
48922 case HOURS:
48923 case CHANGE_RETENTION:
48924 case AUTO_CLEANUP:
48925 case CHANGE_TRACKING:
48926 case AUTOMATIC_TUNING:
48927 case FORCE_LAST_GOOD_PLAN:
48928 case AUTO_UPDATE_STATISTICS_ASYNC:
48929 case AUTO_UPDATE_STATISTICS:
48930 case AUTO_SHRINK:
48931 case AUTO_CREATE_STATISTICS:
48932 case INCREMENTAL:
48933 case AUTO_CLOSE:
48934 case DATA_RETENTION:
48935 case TEMPORAL_HISTORY_RETENTION:
48936 case EDITION:
48937 case MIXED_PAGE_ALLOCATION:
48938 case DISABLED:
48939 case ALLOWED:
48940 case HADR:
48941 case MULTI_USER:
48942 case RESTRICTED_USER:
48943 case SINGLE_USER:
48944 case OFFLINE:
48945 case EMERGENCY:
48946 case SUSPEND:
48947 case DATE_CORRELATION_OPTIMIZATION:
48948 case ELASTIC_POOL:
48949 case SERVICE_OBJECTIVE:
48950 case DATABASE_NAME:
48951 case ALLOW_CONNECTIONS:
48952 case GEO:
48953 case NAMED:
48954 case DATEFIRST:
48955 case BACKUP_STORAGE_REDUNDANCY:
48956 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
48957 case SECONDARY:
48958 case FAILOVER:
48959 case DEFAULT_FULLTEXT_LANGUAGE:
48960 case DEFAULT_LANGUAGE:
48961 case INLINE:
48962 case NESTED_TRIGGERS:
48963 case TRANSFORM_NOISE_WORDS:
48964 case TWO_DIGIT_YEAR_CUTOFF:
48965 case PERSISTENT_LOG_BUFFER:
48966 case DIRECTORY_NAME:
48967 case DATEFORMAT:
48968 case DELAYED_DURABILITY:
48969 case AUTHORIZATION:
48970 case TRANSFER:
48971 case PROVIDER:
48972 case SEARCH:
48973 case MEMBER:
48974 case IDENTIFIER_:
48975 case DELIMITED_IDENTIFIER_:
48976 enterOuterAlt(_localctx, 1);
48977 {
48978 setState(6694);
48979 userName();
48980 setState(6698);
48981 _errHandler.sync(this);
48982 _la = _input.LA(1);
48983 if (_la==FROM || _la==FOR) {
48984 {
48985 setState(6695);
48986 _la = _input.LA(1);
48987 if ( !(_la==FROM || _la==FOR) ) {
48988 _errHandler.recoverInline(this);
48989 }
48990 else {
48991 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48992 _errHandler.reportMatch(this);
48993 consume();
48994 }
48995 setState(6696);
48996 match(LOGIN);
48997 setState(6697);
48998 identifier();
48999 }
49000 }
49001
49002 }
49003 break;
49004 case FROM:
49005 enterOuterAlt(_localctx, 2);
49006 {
49007 setState(6700);
49008 match(FROM);
49009 setState(6701);
49010 match(EXTERNAL);
49011 setState(6702);
49012 match(PROVIDER);
49013 setState(6712);
49014 _errHandler.sync(this);
49015 _la = _input.LA(1);
49016 if (_la==WITH) {
49017 {
49018 setState(6703);
49019 match(WITH);
49020 setState(6704);
49021 limitedOptionsList();
49022 setState(6709);
49023 _errHandler.sync(this);
49024 _la = _input.LA(1);
49025 while (_la==COMMA_) {
49026 {
49027 {
49028 setState(6705);
49029 match(COMMA_);
49030 setState(6706);
49031 limitedOptionsList();
49032 }
49033 }
49034 setState(6711);
49035 _errHandler.sync(this);
49036 _la = _input.LA(1);
49037 }
49038 }
49039 }
49040
49041 }
49042 break;
49043 default:
49044 throw new NoViableAltException(this);
49045 }
49046 }
49047 catch (RecognitionException re) {
49048 _localctx.exception = re;
49049 _errHandler.reportError(this, re);
49050 _errHandler.recover(this, re);
49051 }
49052 finally {
49053 exitRule();
49054 }
49055 return _localctx;
49056 }
49057
49058 public static class CreateUserWithDefaultSchemaContext extends ParserRuleContext {
49059 public UserNameContext userName() {
49060 return getRuleContext(UserNameContext.class,0);
49061 }
49062 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
49063 public IdentifierContext identifier() {
49064 return getRuleContext(IdentifierContext.class,0);
49065 }
49066 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
49067 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49068 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
49069 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
49070 public SchemaNameContext schemaName() {
49071 return getRuleContext(SchemaNameContext.class,0);
49072 }
49073 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
49074 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
49075 public CreateUserWithDefaultSchemaContext(ParserRuleContext parent, int invokingState) {
49076 super(parent, invokingState);
49077 }
49078 @Override public int getRuleIndex() { return RULE_createUserWithDefaultSchema; }
49079 @Override
49080 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49081 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithDefaultSchema(this);
49082 else return visitor.visitChildren(this);
49083 }
49084 }
49085
49086 public final CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() throws RecognitionException {
49087 CreateUserWithDefaultSchemaContext _localctx = new CreateUserWithDefaultSchemaContext(_ctx, getState());
49088 enterRule(_localctx, 912, RULE_createUserWithDefaultSchema);
49089 int _la;
49090 try {
49091 enterOuterAlt(_localctx, 1);
49092 {
49093 setState(6716);
49094 userName();
49095 setState(6722);
49096 _errHandler.sync(this);
49097 switch (_input.LA(1)) {
49098 case FROM:
49099 case FOR:
49100 {
49101 setState(6717);
49102 _la = _input.LA(1);
49103 if ( !(_la==FROM || _la==FOR) ) {
49104 _errHandler.recoverInline(this);
49105 }
49106 else {
49107 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49108 _errHandler.reportMatch(this);
49109 consume();
49110 }
49111 setState(6718);
49112 match(LOGIN);
49113 setState(6719);
49114 identifier();
49115 }
49116 break;
49117 case WITHOUT:
49118 {
49119 setState(6720);
49120 match(WITHOUT);
49121 setState(6721);
49122 match(LOGIN);
49123 }
49124 break;
49125 case EOF:
49126 case SEMI_:
49127 case WITH:
49128 break;
49129 default:
49130 break;
49131 }
49132 setState(6728);
49133 _errHandler.sync(this);
49134 _la = _input.LA(1);
49135 if (_la==WITH) {
49136 {
49137 setState(6724);
49138 match(WITH);
49139 setState(6725);
49140 match(DEFAULT_SCHEMA);
49141 setState(6726);
49142 match(EQ_);
49143 setState(6727);
49144 schemaName();
49145 }
49146 }
49147
49148 }
49149 }
49150 catch (RecognitionException re) {
49151 _localctx.exception = re;
49152 _errHandler.reportError(this, re);
49153 _errHandler.recover(this, re);
49154 }
49155 finally {
49156 exitRule();
49157 }
49158 return _localctx;
49159 }
49160
49161 public static class CreateUserWithAzureActiveDirectoryPrincipalClauseContext extends ParserRuleContext {
49162 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
49163 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
49164 }
49165 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
49166 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
49167 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
49168 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49169 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
49170 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
49171 public SchemaNameContext schemaName() {
49172 return getRuleContext(SchemaNameContext.class,0);
49173 }
49174 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
49175 super(parent, invokingState);
49176 }
49177 @Override public int getRuleIndex() { return RULE_createUserWithAzureActiveDirectoryPrincipalClause; }
49178 @Override
49179 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49180 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithAzureActiveDirectoryPrincipalClause(this);
49181 else return visitor.visitChildren(this);
49182 }
49183 }
49184
49185 public final CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() throws RecognitionException {
49186 CreateUserWithAzureActiveDirectoryPrincipalClauseContext _localctx = new CreateUserWithAzureActiveDirectoryPrincipalClauseContext(_ctx, getState());
49187 enterRule(_localctx, 914, RULE_createUserWithAzureActiveDirectoryPrincipalClause);
49188 int _la;
49189 try {
49190 enterOuterAlt(_localctx, 1);
49191 {
49192 setState(6730);
49193 azureActiveDirectoryPrincipal();
49194 setState(6731);
49195 match(FROM);
49196 setState(6732);
49197 match(EXTERNAL);
49198 setState(6733);
49199 match(PROVIDER);
49200 setState(6738);
49201 _errHandler.sync(this);
49202 _la = _input.LA(1);
49203 if (_la==WITH) {
49204 {
49205 setState(6734);
49206 match(WITH);
49207 setState(6735);
49208 match(DEFAULT_SCHEMA);
49209 setState(6736);
49210 match(EQ_);
49211 setState(6737);
49212 schemaName();
49213 }
49214 }
49215
49216 }
49217 }
49218 catch (RecognitionException re) {
49219 _localctx.exception = re;
49220 _errHandler.reportError(this, re);
49221 _errHandler.recover(this, re);
49222 }
49223 finally {
49224 exitRule();
49225 }
49226 return _localctx;
49227 }
49228
49229 public static class WindowsPrincipalContext extends ParserRuleContext {
49230 public UserNameContext userName() {
49231 return getRuleContext(UserNameContext.class,0);
49232 }
49233 public WindowsPrincipalContext(ParserRuleContext parent, int invokingState) {
49234 super(parent, invokingState);
49235 }
49236 @Override public int getRuleIndex() { return RULE_windowsPrincipal; }
49237 @Override
49238 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49239 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsPrincipal(this);
49240 else return visitor.visitChildren(this);
49241 }
49242 }
49243
49244 public final WindowsPrincipalContext windowsPrincipal() throws RecognitionException {
49245 WindowsPrincipalContext _localctx = new WindowsPrincipalContext(_ctx, getState());
49246 enterRule(_localctx, 916, RULE_windowsPrincipal);
49247 try {
49248 enterOuterAlt(_localctx, 1);
49249 {
49250 setState(6740);
49251 userName();
49252 }
49253 }
49254 catch (RecognitionException re) {
49255 _localctx.exception = re;
49256 _errHandler.reportError(this, re);
49257 _errHandler.recover(this, re);
49258 }
49259 finally {
49260 exitRule();
49261 }
49262 return _localctx;
49263 }
49264
49265 public static class AzureActiveDirectoryPrincipalContext extends ParserRuleContext {
49266 public UserNameContext userName() {
49267 return getRuleContext(UserNameContext.class,0);
49268 }
49269 public AzureActiveDirectoryPrincipalContext(ParserRuleContext parent, int invokingState) {
49270 super(parent, invokingState);
49271 }
49272 @Override public int getRuleIndex() { return RULE_azureActiveDirectoryPrincipal; }
49273 @Override
49274 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49275 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureActiveDirectoryPrincipal(this);
49276 else return visitor.visitChildren(this);
49277 }
49278 }
49279
49280 public final AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() throws RecognitionException {
49281 AzureActiveDirectoryPrincipalContext _localctx = new AzureActiveDirectoryPrincipalContext(_ctx, getState());
49282 enterRule(_localctx, 918, RULE_azureActiveDirectoryPrincipal);
49283 try {
49284 enterOuterAlt(_localctx, 1);
49285 {
49286 setState(6742);
49287 userName();
49288 }
49289 }
49290 catch (RecognitionException re) {
49291 _localctx.exception = re;
49292 _errHandler.reportError(this, re);
49293 _errHandler.recover(this, re);
49294 }
49295 finally {
49296 exitRule();
49297 }
49298 return _localctx;
49299 }
49300
49301 public static class UserNameContext extends ParserRuleContext {
49302 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
49303 return getRuleContext(IgnoredNameIdentifierContext.class,0);
49304 }
49305 public UserNameContext(ParserRuleContext parent, int invokingState) {
49306 super(parent, invokingState);
49307 }
49308 @Override public int getRuleIndex() { return RULE_userName; }
49309 @Override
49310 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49311 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUserName(this);
49312 else return visitor.visitChildren(this);
49313 }
49314 }
49315
49316 public final UserNameContext userName() throws RecognitionException {
49317 UserNameContext _localctx = new UserNameContext(_ctx, getState());
49318 enterRule(_localctx, 920, RULE_userName);
49319 try {
49320 enterOuterAlt(_localctx, 1);
49321 {
49322 setState(6744);
49323 ignoredNameIdentifier();
49324 }
49325 }
49326 catch (RecognitionException re) {
49327 _localctx.exception = re;
49328 _errHandler.reportError(this, re);
49329 _errHandler.recover(this, re);
49330 }
49331 finally {
49332 exitRule();
49333 }
49334 return _localctx;
49335 }
49336
49337 public static class IgnoredNameIdentifierContext extends ParserRuleContext {
49338 public List<IdentifierContext> identifier() {
49339 return getRuleContexts(IdentifierContext.class);
49340 }
49341 public IdentifierContext identifier(int i) {
49342 return getRuleContext(IdentifierContext.class,i);
49343 }
49344 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
49345 public IgnoredNameIdentifierContext(ParserRuleContext parent, int invokingState) {
49346 super(parent, invokingState);
49347 }
49348 @Override public int getRuleIndex() { return RULE_ignoredNameIdentifier; }
49349 @Override
49350 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49351 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredNameIdentifier(this);
49352 else return visitor.visitChildren(this);
49353 }
49354 }
49355
49356 public final IgnoredNameIdentifierContext ignoredNameIdentifier() throws RecognitionException {
49357 IgnoredNameIdentifierContext _localctx = new IgnoredNameIdentifierContext(_ctx, getState());
49358 enterRule(_localctx, 922, RULE_ignoredNameIdentifier);
49359 int _la;
49360 try {
49361 enterOuterAlt(_localctx, 1);
49362 {
49363 setState(6746);
49364 identifier();
49365 setState(6749);
49366 _errHandler.sync(this);
49367 _la = _input.LA(1);
49368 if (_la==DOT_) {
49369 {
49370 setState(6747);
49371 match(DOT_);
49372 setState(6748);
49373 identifier();
49374 }
49375 }
49376
49377 }
49378 }
49379 catch (RecognitionException re) {
49380 _localctx.exception = re;
49381 _errHandler.reportError(this, re);
49382 _errHandler.recover(this, re);
49383 }
49384 finally {
49385 exitRule();
49386 }
49387 return _localctx;
49388 }
49389
49390 public static class DropUserContext extends ParserRuleContext {
49391 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
49392 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
49393 public UserNameContext userName() {
49394 return getRuleContext(UserNameContext.class,0);
49395 }
49396 public IfExistsContext ifExists() {
49397 return getRuleContext(IfExistsContext.class,0);
49398 }
49399 public DropUserContext(ParserRuleContext parent, int invokingState) {
49400 super(parent, invokingState);
49401 }
49402 @Override public int getRuleIndex() { return RULE_dropUser; }
49403 @Override
49404 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49405 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropUser(this);
49406 else return visitor.visitChildren(this);
49407 }
49408 }
49409
49410 public final DropUserContext dropUser() throws RecognitionException {
49411 DropUserContext _localctx = new DropUserContext(_ctx, getState());
49412 enterRule(_localctx, 924, RULE_dropUser);
49413 int _la;
49414 try {
49415 enterOuterAlt(_localctx, 1);
49416 {
49417 setState(6751);
49418 match(DROP);
49419 setState(6752);
49420 match(USER);
49421 setState(6754);
49422 _errHandler.sync(this);
49423 _la = _input.LA(1);
49424 if (_la==IF) {
49425 {
49426 setState(6753);
49427 ifExists();
49428 }
49429 }
49430
49431 setState(6756);
49432 userName();
49433 }
49434 }
49435 catch (RecognitionException re) {
49436 _localctx.exception = re;
49437 _errHandler.reportError(this, re);
49438 _errHandler.recover(this, re);
49439 }
49440 finally {
49441 exitRule();
49442 }
49443 return _localctx;
49444 }
49445
49446 public static class AlterUserContext extends ParserRuleContext {
49447 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
49448 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
49449 public UserNameContext userName() {
49450 return getRuleContext(UserNameContext.class,0);
49451 }
49452 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49453 public List<SetItemContext> setItem() {
49454 return getRuleContexts(SetItemContext.class);
49455 }
49456 public SetItemContext setItem(int i) {
49457 return getRuleContext(SetItemContext.class,i);
49458 }
49459 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
49460 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
49461 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
49462 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
49463 public TerminalNode COMMA_(int i) {
49464 return getToken(SQLServerStatementParser.COMMA_, i);
49465 }
49466 public AlterUserContext(ParserRuleContext parent, int invokingState) {
49467 super(parent, invokingState);
49468 }
49469 @Override public int getRuleIndex() { return RULE_alterUser; }
49470 @Override
49471 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49472 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterUser(this);
49473 else return visitor.visitChildren(this);
49474 }
49475 }
49476
49477 public final AlterUserContext alterUser() throws RecognitionException {
49478 AlterUserContext _localctx = new AlterUserContext(_ctx, getState());
49479 enterRule(_localctx, 926, RULE_alterUser);
49480 int _la;
49481 try {
49482 enterOuterAlt(_localctx, 1);
49483 {
49484 setState(6758);
49485 match(ALTER);
49486 setState(6759);
49487 match(USER);
49488 setState(6760);
49489 userName();
49490 setState(6773);
49491 _errHandler.sync(this);
49492 switch (_input.LA(1)) {
49493 case WITH:
49494 {
49495 setState(6761);
49496 match(WITH);
49497 setState(6762);
49498 setItem();
49499 setState(6767);
49500 _errHandler.sync(this);
49501 _la = _input.LA(1);
49502 while (_la==COMMA_) {
49503 {
49504 {
49505 setState(6763);
49506 match(COMMA_);
49507 setState(6764);
49508 setItem();
49509 }
49510 }
49511 setState(6769);
49512 _errHandler.sync(this);
49513 _la = _input.LA(1);
49514 }
49515 }
49516 break;
49517 case FROM:
49518 {
49519 setState(6770);
49520 match(FROM);
49521 setState(6771);
49522 match(EXTERNAL);
49523 setState(6772);
49524 match(PROVIDER);
49525 }
49526 break;
49527 default:
49528 throw new NoViableAltException(this);
49529 }
49530 }
49531 }
49532 catch (RecognitionException re) {
49533 _localctx.exception = re;
49534 _errHandler.reportError(this, re);
49535 _errHandler.recover(this, re);
49536 }
49537 finally {
49538 exitRule();
49539 }
49540 return _localctx;
49541 }
49542
49543 public static class SetItemContext extends ParserRuleContext {
49544 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
49545 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
49546 public TerminalNode EQ_(int i) {
49547 return getToken(SQLServerStatementParser.EQ_, i);
49548 }
49549 public UserNameContext userName() {
49550 return getRuleContext(UserNameContext.class,0);
49551 }
49552 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
49553 public SchemaNameContext schemaName() {
49554 return getRuleContext(SchemaNameContext.class,0);
49555 }
49556 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
49557 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
49558 public IdentifierContext identifier() {
49559 return getRuleContext(IdentifierContext.class,0);
49560 }
49561 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
49562 public List<StringLiteralsContext> stringLiterals() {
49563 return getRuleContexts(StringLiteralsContext.class);
49564 }
49565 public StringLiteralsContext stringLiterals(int i) {
49566 return getRuleContext(StringLiteralsContext.class,i);
49567 }
49568 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
49569 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
49570 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
49571 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
49572 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
49573 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
49574 public SetItemContext(ParserRuleContext parent, int invokingState) {
49575 super(parent, invokingState);
49576 }
49577 @Override public int getRuleIndex() { return RULE_setItem; }
49578 @Override
49579 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49580 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetItem(this);
49581 else return visitor.visitChildren(this);
49582 }
49583 }
49584
49585 public final SetItemContext setItem() throws RecognitionException {
49586 SetItemContext _localctx = new SetItemContext(_ctx, getState());
49587 enterRule(_localctx, 928, RULE_setItem);
49588 int _la;
49589 try {
49590 setState(6806);
49591 _errHandler.sync(this);
49592 switch (_input.LA(1)) {
49593 case NAME:
49594 enterOuterAlt(_localctx, 1);
49595 {
49596 setState(6775);
49597 match(NAME);
49598 setState(6776);
49599 match(EQ_);
49600 setState(6777);
49601 userName();
49602 }
49603 break;
49604 case DEFAULT_SCHEMA:
49605 enterOuterAlt(_localctx, 2);
49606 {
49607 setState(6778);
49608 match(DEFAULT_SCHEMA);
49609 setState(6779);
49610 match(EQ_);
49611 setState(6782);
49612 _errHandler.sync(this);
49613 switch (_input.LA(1)) {
49614 case TRUNCATE:
49615 case SCHEMA:
49616 case COLUMNS:
49617 case PRECISION:
49618 case FUNCTION:
49619 case TRIGGER:
49620 case CAST:
49621 case SUBSTRING:
49622 case OFF:
49623 case GROUP:
49624 case LIMIT:
49625 case OFFSET:
49626 case SAVEPOINT:
49627 case BOOLEAN:
49628 case ARRAY:
49629 case DATE:
49630 case LOCALTIME:
49631 case LOCALTIMESTAMP:
49632 case QUARTER:
49633 case MONTH:
49634 case WEEK:
49635 case DAY:
49636 case SECOND:
49637 case MICROSECOND:
49638 case MAX:
49639 case MIN:
49640 case SUM:
49641 case COUNT:
49642 case AVG:
49643 case ENABLE:
49644 case DISABLE:
49645 case INSTANCE:
49646 case DO:
49647 case DEFINER:
49648 case SQL:
49649 case CASCADED:
49650 case LOCAL:
49651 case NEXT:
49652 case NAME:
49653 case INTEGER:
49654 case TYPE:
49655 case TEXT:
49656 case VIEWS:
49657 case READ_ONLY:
49658 case DATABASE:
49659 case RETURNS:
49660 case DATEPART:
49661 case PASSWORD:
49662 case BINARY:
49663 case HIDDEN_:
49664 case MOD:
49665 case PARTITION:
49666 case PARTITIONS:
49667 case TOP:
49668 case ROW:
49669 case ROWS:
49670 case XOR:
49671 case ALWAYS:
49672 case ROLE:
49673 case START:
49674 case ALGORITHM:
49675 case AUTO:
49676 case BLOCKERS:
49677 case CLUSTERED:
49678 case NONCLUSTERED:
49679 case COLUMNSTORE:
49680 case CONTENT:
49681 case YEARS:
49682 case MONTHS:
49683 case WEEKS:
49684 case DAYS:
49685 case MINUTES:
49686 case DENY:
49687 case DETERMINISTIC:
49688 case DISTRIBUTION:
49689 case DOCUMENT:
49690 case DURABILITY:
49691 case ENCRYPTED:
49692 case FILESTREAM:
49693 case FILETABLE:
49694 case FILLFACTOR:
49695 case FOLLOWING:
49696 case HASH:
49697 case HEAP:
49698 case INBOUND:
49699 case OUTBOUND:
49700 case UNBOUNDED:
49701 case INFINITE:
49702 case LOGIN:
49703 case MASKED:
49704 case MAXDOP:
49705 case MOVE:
49706 case NOCHECK:
49707 case OBJECT:
49708 case ONLINE:
49709 case OVER:
49710 case PAGE:
49711 case PAUSED:
49712 case PERIOD:
49713 case PERSISTED:
49714 case PRECEDING:
49715 case RANDOMIZED:
49716 case RANGE:
49717 case REBUILD:
49718 case REPLICATE:
49719 case REPLICATION:
49720 case RESUMABLE:
49721 case ROWGUIDCOL:
49722 case SAVE:
49723 case SELF:
49724 case SPARSE:
49725 case SWITCH:
49726 case TRAN:
49727 case TRANCOUNT:
49728 case CONTROL:
49729 case CONCAT:
49730 case TAKE:
49731 case OWNERSHIP:
49732 case DEFINITION:
49733 case APPLICATION:
49734 case ASSEMBLY:
49735 case SYMMETRIC:
49736 case ASYMMETRIC:
49737 case SERVER:
49738 case RECEIVE:
49739 case CHANGE:
49740 case TRACE:
49741 case TRACKING:
49742 case RESOURCES:
49743 case SETTINGS:
49744 case STATE:
49745 case AVAILABILITY:
49746 case CREDENTIAL:
49747 case ENDPOINT:
49748 case EVENT:
49749 case NOTIFICATION:
49750 case LINKED:
49751 case AUDIT:
49752 case DDL:
49753 case XML:
49754 case IMPERSONATE:
49755 case SECURABLES:
49756 case AUTHENTICATE:
49757 case EXTERNAL:
49758 case ACCESS:
49759 case ADMINISTER:
49760 case BULK:
49761 case OPERATIONS:
49762 case UNSAFE:
49763 case SHUTDOWN:
49764 case SCOPED:
49765 case CONFIGURATION:
49766 case DATASPACE:
49767 case SERVICE:
49768 case CERTIFICATE:
49769 case CONTRACT:
49770 case ENCRYPTION:
49771 case MASTER:
49772 case DATA:
49773 case SOURCE:
49774 case FILE:
49775 case FORMAT:
49776 case LIBRARY:
49777 case FULLTEXT:
49778 case MASK:
49779 case UNMASK:
49780 case MESSAGE:
49781 case REMOTE:
49782 case BINDING:
49783 case ROUTE:
49784 case SECURITY:
49785 case POLICY:
49786 case AGGREGATE:
49787 case QUEUE:
49788 case RULE:
49789 case SYNONYM:
49790 case COLLECTION:
49791 case SCRIPT:
49792 case KILL:
49793 case BACKUP:
49794 case LOG:
49795 case SHOWPLAN:
49796 case SUBSCRIBE:
49797 case QUERY:
49798 case NOTIFICATIONS:
49799 case CHECKPOINT:
49800 case SEQUENCE:
49801 case ABORT_AFTER_WAIT:
49802 case ALLOW_PAGE_LOCKS:
49803 case ALLOW_ROW_LOCKS:
49804 case ALL_SPARSE_COLUMNS:
49805 case BUCKET_COUNT:
49806 case COLUMNSTORE_ARCHIVE:
49807 case COLUMN_ENCRYPTION_KEY:
49808 case COLUMN_SET:
49809 case COMPRESSION_DELAY:
49810 case DATABASE_DEAULT:
49811 case DATA_COMPRESSION:
49812 case DATA_CONSISTENCY_CHECK:
49813 case ENCRYPTION_TYPE:
49814 case SYSTEM_TIME:
49815 case SYSTEM_VERSIONING:
49816 case TEXTIMAGE_ON:
49817 case WAIT_AT_LOW_PRIORITY:
49818 case STATISTICS_INCREMENTAL:
49819 case STATISTICS_NORECOMPUTE:
49820 case ROUND_ROBIN:
49821 case SCHEMA_AND_DATA:
49822 case SCHEMA_ONLY:
49823 case SORT_IN_TEMPDB:
49824 case IGNORE_DUP_KEY:
49825 case IMPLICIT_TRANSACTIONS:
49826 case MAX_DURATION:
49827 case MEMORY_OPTIMIZED:
49828 case MIGRATION_STATE:
49829 case PAD_INDEX:
49830 case REMOTE_DATA_ARCHIVE:
49831 case FILESTREAM_ON:
49832 case FILETABLE_COLLATE_FILENAME:
49833 case FILETABLE_DIRECTORY:
49834 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
49835 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
49836 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
49837 case FILTER_PREDICATE:
49838 case HISTORY_RETENTION_PERIOD:
49839 case HISTORY_TABLE:
49840 case LOCK_ESCALATION:
49841 case DROP_EXISTING:
49842 case ROW_NUMBER:
49843 case FIRST:
49844 case DATETIME2:
49845 case OUTPUT:
49846 case INSERTED:
49847 case DELETED:
49848 case FILENAME:
49849 case SIZE:
49850 case MAXSIZE:
49851 case FILEGROWTH:
49852 case UNLIMITED:
49853 case KB:
49854 case MB:
49855 case GB:
49856 case TB:
49857 case CONTAINS:
49858 case MEMORY_OPTIMIZED_DATA:
49859 case FILEGROUP:
49860 case NON_TRANSACTED_ACCESS:
49861 case DB_CHAINING:
49862 case TRUSTWORTHY:
49863 case FORWARD_ONLY:
49864 case KEYSET:
49865 case FAST_FORWARD:
49866 case SCROLL_LOCKS:
49867 case OPTIMISTIC:
49868 case TYPE_WARNING:
49869 case SCHEMABINDING:
49870 case CALLER:
49871 case OWNER:
49872 case SNAPSHOT:
49873 case REPEATABLE:
49874 case SERIALIZABLE:
49875 case NATIVE_COMPILATION:
49876 case VIEW_METADATA:
49877 case INSTEAD:
49878 case APPEND:
49879 case INCREMENT:
49880 case CACHE:
49881 case MINVALUE:
49882 case MAXVALUE:
49883 case RESTART:
49884 case LOB_COMPACTION:
49885 case COMPRESS_ALL_ROW_GROUPS:
49886 case REORGANIZE:
49887 case RESUME:
49888 case PAUSE:
49889 case ABORT:
49890 case ACCELERATED_DATABASE_RECOVERY:
49891 case PERSISTENT_VERSION_STORE_FILEGROUP:
49892 case IMMEDIATE:
49893 case NO_WAIT:
49894 case TARGET_RECOVERY_TIME:
49895 case SECONDS:
49896 case HONOR_BROKER_PRIORITY:
49897 case ERROR_BROKER_CONVERSATIONS:
49898 case NEW_BROKER:
49899 case DISABLE_BROKER:
49900 case ENABLE_BROKER:
49901 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
49902 case READ_COMMITTED_SNAPSHOT:
49903 case ALLOW_SNAPSHOT_ISOLATION:
49904 case RECURSIVE_TRIGGERS:
49905 case QUOTED_IDENTIFIER:
49906 case NUMERIC_ROUNDABORT:
49907 case CONCAT_NULL_YIELDS_NULL:
49908 case COMPATIBILITY_LEVEL:
49909 case ARITHABORT:
49910 case ANSI_WARNINGS:
49911 case ANSI_PADDING:
49912 case ANSI_NULLS:
49913 case ANSI_NULL_DEFAULT:
49914 case PAGE_VERIFY:
49915 case CHECKSUM:
49916 case TORN_PAGE_DETECTION:
49917 case BULK_LOGGED:
49918 case RECOVERY:
49919 case TOTAL_EXECUTION_CPU_TIME_MS:
49920 case TOTAL_COMPILE_CPU_TIME_MS:
49921 case STALE_CAPTURE_POLICY_THRESHOLD:
49922 case EXECUTION_COUNT:
49923 case QUERY_CAPTURE_POLICY:
49924 case WAIT_STATS_CAPTURE_MODE:
49925 case MAX_PLANS_PER_QUERY:
49926 case QUERY_CAPTURE_MODE:
49927 case SIZE_BASED_CLEANUP_MODE:
49928 case INTERVAL_LENGTH_MINUTES:
49929 case MAX_STORAGE_SIZE_MB:
49930 case DATA_FLUSH_INTERVAL_SECONDS:
49931 case CLEANUP_POLICY:
49932 case CUSTOM:
49933 case STALE_QUERY_THRESHOLD_DAYS:
49934 case OPERATION_MODE:
49935 case QUERY_STORE:
49936 case CURSOR_DEFAULT:
49937 case GLOBAL:
49938 case CURSOR_CLOSE_ON_COMMIT:
49939 case HOURS:
49940 case CHANGE_RETENTION:
49941 case AUTO_CLEANUP:
49942 case CHANGE_TRACKING:
49943 case AUTOMATIC_TUNING:
49944 case FORCE_LAST_GOOD_PLAN:
49945 case AUTO_UPDATE_STATISTICS_ASYNC:
49946 case AUTO_UPDATE_STATISTICS:
49947 case AUTO_SHRINK:
49948 case AUTO_CREATE_STATISTICS:
49949 case INCREMENTAL:
49950 case AUTO_CLOSE:
49951 case DATA_RETENTION:
49952 case TEMPORAL_HISTORY_RETENTION:
49953 case EDITION:
49954 case MIXED_PAGE_ALLOCATION:
49955 case DISABLED:
49956 case ALLOWED:
49957 case HADR:
49958 case MULTI_USER:
49959 case RESTRICTED_USER:
49960 case SINGLE_USER:
49961 case OFFLINE:
49962 case EMERGENCY:
49963 case SUSPEND:
49964 case DATE_CORRELATION_OPTIMIZATION:
49965 case ELASTIC_POOL:
49966 case SERVICE_OBJECTIVE:
49967 case DATABASE_NAME:
49968 case ALLOW_CONNECTIONS:
49969 case GEO:
49970 case NAMED:
49971 case DATEFIRST:
49972 case BACKUP_STORAGE_REDUNDANCY:
49973 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
49974 case SECONDARY:
49975 case FAILOVER:
49976 case DEFAULT_FULLTEXT_LANGUAGE:
49977 case DEFAULT_LANGUAGE:
49978 case INLINE:
49979 case NESTED_TRIGGERS:
49980 case TRANSFORM_NOISE_WORDS:
49981 case TWO_DIGIT_YEAR_CUTOFF:
49982 case PERSISTENT_LOG_BUFFER:
49983 case DIRECTORY_NAME:
49984 case DATEFORMAT:
49985 case DELAYED_DURABILITY:
49986 case AUTHORIZATION:
49987 case TRANSFER:
49988 case PROVIDER:
49989 case SEARCH:
49990 case MEMBER:
49991 case IDENTIFIER_:
49992 case DELIMITED_IDENTIFIER_:
49993 {
49994 setState(6780);
49995 schemaName();
49996 }
49997 break;
49998 case NULL:
49999 {
50000 setState(6781);
50001 match(NULL);
50002 }
50003 break;
50004 default:
50005 throw new NoViableAltException(this);
50006 }
50007 }
50008 break;
50009 case LOGIN:
50010 enterOuterAlt(_localctx, 3);
50011 {
50012 setState(6784);
50013 match(LOGIN);
50014 setState(6785);
50015 match(EQ_);
50016 setState(6786);
50017 identifier();
50018 }
50019 break;
50020 case PASSWORD:
50021 enterOuterAlt(_localctx, 4);
50022 {
50023 setState(6787);
50024 match(PASSWORD);
50025 setState(6788);
50026 match(EQ_);
50027 setState(6789);
50028 stringLiterals();
50029 setState(6793);
50030 _errHandler.sync(this);
50031 _la = _input.LA(1);
50032 if (_la==OLD_PASSWORD) {
50033 {
50034 setState(6790);
50035 match(OLD_PASSWORD);
50036 setState(6791);
50037 match(EQ_);
50038 setState(6792);
50039 stringLiterals();
50040 }
50041 }
50042
50043 }
50044 break;
50045 case DEFAULT_LANGUAGE:
50046 enterOuterAlt(_localctx, 5);
50047 {
50048 setState(6795);
50049 match(DEFAULT_LANGUAGE);
50050 setState(6796);
50051 match(EQ_);
50052 setState(6799);
50053 _errHandler.sync(this);
50054 switch (_input.LA(1)) {
50055 case NONE:
50056 {
50057 setState(6797);
50058 match(NONE);
50059 }
50060 break;
50061 case TRUNCATE:
50062 case SCHEMA:
50063 case COLUMNS:
50064 case PRECISION:
50065 case FUNCTION:
50066 case TRIGGER:
50067 case CAST:
50068 case SUBSTRING:
50069 case OFF:
50070 case GROUP:
50071 case LIMIT:
50072 case OFFSET:
50073 case SAVEPOINT:
50074 case BOOLEAN:
50075 case ARRAY:
50076 case DATE:
50077 case LOCALTIME:
50078 case LOCALTIMESTAMP:
50079 case QUARTER:
50080 case MONTH:
50081 case WEEK:
50082 case DAY:
50083 case SECOND:
50084 case MICROSECOND:
50085 case MAX:
50086 case MIN:
50087 case SUM:
50088 case COUNT:
50089 case AVG:
50090 case ENABLE:
50091 case DISABLE:
50092 case INSTANCE:
50093 case DO:
50094 case DEFINER:
50095 case SQL:
50096 case CASCADED:
50097 case LOCAL:
50098 case NEXT:
50099 case NAME:
50100 case INTEGER:
50101 case TYPE:
50102 case TEXT:
50103 case VIEWS:
50104 case READ_ONLY:
50105 case DATABASE:
50106 case RETURNS:
50107 case DATEPART:
50108 case PASSWORD:
50109 case BINARY:
50110 case HIDDEN_:
50111 case MOD:
50112 case PARTITION:
50113 case PARTITIONS:
50114 case TOP:
50115 case ROW:
50116 case ROWS:
50117 case XOR:
50118 case ALWAYS:
50119 case ROLE:
50120 case START:
50121 case ALGORITHM:
50122 case AUTO:
50123 case BLOCKERS:
50124 case CLUSTERED:
50125 case NONCLUSTERED:
50126 case COLUMNSTORE:
50127 case CONTENT:
50128 case YEARS:
50129 case MONTHS:
50130 case WEEKS:
50131 case DAYS:
50132 case MINUTES:
50133 case DENY:
50134 case DETERMINISTIC:
50135 case DISTRIBUTION:
50136 case DOCUMENT:
50137 case DURABILITY:
50138 case ENCRYPTED:
50139 case FILESTREAM:
50140 case FILETABLE:
50141 case FILLFACTOR:
50142 case FOLLOWING:
50143 case HASH:
50144 case HEAP:
50145 case INBOUND:
50146 case OUTBOUND:
50147 case UNBOUNDED:
50148 case INFINITE:
50149 case LOGIN:
50150 case MASKED:
50151 case MAXDOP:
50152 case MOVE:
50153 case NOCHECK:
50154 case OBJECT:
50155 case ONLINE:
50156 case OVER:
50157 case PAGE:
50158 case PAUSED:
50159 case PERIOD:
50160 case PERSISTED:
50161 case PRECEDING:
50162 case RANDOMIZED:
50163 case RANGE:
50164 case REBUILD:
50165 case REPLICATE:
50166 case REPLICATION:
50167 case RESUMABLE:
50168 case ROWGUIDCOL:
50169 case SAVE:
50170 case SELF:
50171 case SPARSE:
50172 case SWITCH:
50173 case TRAN:
50174 case TRANCOUNT:
50175 case CONTROL:
50176 case CONCAT:
50177 case TAKE:
50178 case OWNERSHIP:
50179 case DEFINITION:
50180 case APPLICATION:
50181 case ASSEMBLY:
50182 case SYMMETRIC:
50183 case ASYMMETRIC:
50184 case SERVER:
50185 case RECEIVE:
50186 case CHANGE:
50187 case TRACE:
50188 case TRACKING:
50189 case RESOURCES:
50190 case SETTINGS:
50191 case STATE:
50192 case AVAILABILITY:
50193 case CREDENTIAL:
50194 case ENDPOINT:
50195 case EVENT:
50196 case NOTIFICATION:
50197 case LINKED:
50198 case AUDIT:
50199 case DDL:
50200 case XML:
50201 case IMPERSONATE:
50202 case SECURABLES:
50203 case AUTHENTICATE:
50204 case EXTERNAL:
50205 case ACCESS:
50206 case ADMINISTER:
50207 case BULK:
50208 case OPERATIONS:
50209 case UNSAFE:
50210 case SHUTDOWN:
50211 case SCOPED:
50212 case CONFIGURATION:
50213 case DATASPACE:
50214 case SERVICE:
50215 case CERTIFICATE:
50216 case CONTRACT:
50217 case ENCRYPTION:
50218 case MASTER:
50219 case DATA:
50220 case SOURCE:
50221 case FILE:
50222 case FORMAT:
50223 case LIBRARY:
50224 case FULLTEXT:
50225 case MASK:
50226 case UNMASK:
50227 case MESSAGE:
50228 case REMOTE:
50229 case BINDING:
50230 case ROUTE:
50231 case SECURITY:
50232 case POLICY:
50233 case AGGREGATE:
50234 case QUEUE:
50235 case RULE:
50236 case SYNONYM:
50237 case COLLECTION:
50238 case SCRIPT:
50239 case KILL:
50240 case BACKUP:
50241 case LOG:
50242 case SHOWPLAN:
50243 case SUBSCRIBE:
50244 case QUERY:
50245 case NOTIFICATIONS:
50246 case CHECKPOINT:
50247 case SEQUENCE:
50248 case ABORT_AFTER_WAIT:
50249 case ALLOW_PAGE_LOCKS:
50250 case ALLOW_ROW_LOCKS:
50251 case ALL_SPARSE_COLUMNS:
50252 case BUCKET_COUNT:
50253 case COLUMNSTORE_ARCHIVE:
50254 case COLUMN_ENCRYPTION_KEY:
50255 case COLUMN_SET:
50256 case COMPRESSION_DELAY:
50257 case DATABASE_DEAULT:
50258 case DATA_COMPRESSION:
50259 case DATA_CONSISTENCY_CHECK:
50260 case ENCRYPTION_TYPE:
50261 case SYSTEM_TIME:
50262 case SYSTEM_VERSIONING:
50263 case TEXTIMAGE_ON:
50264 case WAIT_AT_LOW_PRIORITY:
50265 case STATISTICS_INCREMENTAL:
50266 case STATISTICS_NORECOMPUTE:
50267 case ROUND_ROBIN:
50268 case SCHEMA_AND_DATA:
50269 case SCHEMA_ONLY:
50270 case SORT_IN_TEMPDB:
50271 case IGNORE_DUP_KEY:
50272 case IMPLICIT_TRANSACTIONS:
50273 case MAX_DURATION:
50274 case MEMORY_OPTIMIZED:
50275 case MIGRATION_STATE:
50276 case PAD_INDEX:
50277 case REMOTE_DATA_ARCHIVE:
50278 case FILESTREAM_ON:
50279 case FILETABLE_COLLATE_FILENAME:
50280 case FILETABLE_DIRECTORY:
50281 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
50282 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
50283 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
50284 case FILTER_PREDICATE:
50285 case HISTORY_RETENTION_PERIOD:
50286 case HISTORY_TABLE:
50287 case LOCK_ESCALATION:
50288 case DROP_EXISTING:
50289 case ROW_NUMBER:
50290 case FIRST:
50291 case DATETIME2:
50292 case OUTPUT:
50293 case INSERTED:
50294 case DELETED:
50295 case FILENAME:
50296 case SIZE:
50297 case MAXSIZE:
50298 case FILEGROWTH:
50299 case UNLIMITED:
50300 case KB:
50301 case MB:
50302 case GB:
50303 case TB:
50304 case CONTAINS:
50305 case MEMORY_OPTIMIZED_DATA:
50306 case FILEGROUP:
50307 case NON_TRANSACTED_ACCESS:
50308 case DB_CHAINING:
50309 case TRUSTWORTHY:
50310 case FORWARD_ONLY:
50311 case KEYSET:
50312 case FAST_FORWARD:
50313 case SCROLL_LOCKS:
50314 case OPTIMISTIC:
50315 case TYPE_WARNING:
50316 case SCHEMABINDING:
50317 case CALLER:
50318 case OWNER:
50319 case SNAPSHOT:
50320 case REPEATABLE:
50321 case SERIALIZABLE:
50322 case NATIVE_COMPILATION:
50323 case VIEW_METADATA:
50324 case INSTEAD:
50325 case APPEND:
50326 case INCREMENT:
50327 case CACHE:
50328 case MINVALUE:
50329 case MAXVALUE:
50330 case RESTART:
50331 case LOB_COMPACTION:
50332 case COMPRESS_ALL_ROW_GROUPS:
50333 case REORGANIZE:
50334 case RESUME:
50335 case PAUSE:
50336 case ABORT:
50337 case ACCELERATED_DATABASE_RECOVERY:
50338 case PERSISTENT_VERSION_STORE_FILEGROUP:
50339 case IMMEDIATE:
50340 case NO_WAIT:
50341 case TARGET_RECOVERY_TIME:
50342 case SECONDS:
50343 case HONOR_BROKER_PRIORITY:
50344 case ERROR_BROKER_CONVERSATIONS:
50345 case NEW_BROKER:
50346 case DISABLE_BROKER:
50347 case ENABLE_BROKER:
50348 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
50349 case READ_COMMITTED_SNAPSHOT:
50350 case ALLOW_SNAPSHOT_ISOLATION:
50351 case RECURSIVE_TRIGGERS:
50352 case QUOTED_IDENTIFIER:
50353 case NUMERIC_ROUNDABORT:
50354 case CONCAT_NULL_YIELDS_NULL:
50355 case COMPATIBILITY_LEVEL:
50356 case ARITHABORT:
50357 case ANSI_WARNINGS:
50358 case ANSI_PADDING:
50359 case ANSI_NULLS:
50360 case ANSI_NULL_DEFAULT:
50361 case PAGE_VERIFY:
50362 case CHECKSUM:
50363 case TORN_PAGE_DETECTION:
50364 case BULK_LOGGED:
50365 case RECOVERY:
50366 case TOTAL_EXECUTION_CPU_TIME_MS:
50367 case TOTAL_COMPILE_CPU_TIME_MS:
50368 case STALE_CAPTURE_POLICY_THRESHOLD:
50369 case EXECUTION_COUNT:
50370 case QUERY_CAPTURE_POLICY:
50371 case WAIT_STATS_CAPTURE_MODE:
50372 case MAX_PLANS_PER_QUERY:
50373 case QUERY_CAPTURE_MODE:
50374 case SIZE_BASED_CLEANUP_MODE:
50375 case INTERVAL_LENGTH_MINUTES:
50376 case MAX_STORAGE_SIZE_MB:
50377 case DATA_FLUSH_INTERVAL_SECONDS:
50378 case CLEANUP_POLICY:
50379 case CUSTOM:
50380 case STALE_QUERY_THRESHOLD_DAYS:
50381 case OPERATION_MODE:
50382 case QUERY_STORE:
50383 case CURSOR_DEFAULT:
50384 case GLOBAL:
50385 case CURSOR_CLOSE_ON_COMMIT:
50386 case HOURS:
50387 case CHANGE_RETENTION:
50388 case AUTO_CLEANUP:
50389 case CHANGE_TRACKING:
50390 case AUTOMATIC_TUNING:
50391 case FORCE_LAST_GOOD_PLAN:
50392 case AUTO_UPDATE_STATISTICS_ASYNC:
50393 case AUTO_UPDATE_STATISTICS:
50394 case AUTO_SHRINK:
50395 case AUTO_CREATE_STATISTICS:
50396 case INCREMENTAL:
50397 case AUTO_CLOSE:
50398 case DATA_RETENTION:
50399 case TEMPORAL_HISTORY_RETENTION:
50400 case EDITION:
50401 case MIXED_PAGE_ALLOCATION:
50402 case DISABLED:
50403 case ALLOWED:
50404 case HADR:
50405 case MULTI_USER:
50406 case RESTRICTED_USER:
50407 case SINGLE_USER:
50408 case OFFLINE:
50409 case EMERGENCY:
50410 case SUSPEND:
50411 case DATE_CORRELATION_OPTIMIZATION:
50412 case ELASTIC_POOL:
50413 case SERVICE_OBJECTIVE:
50414 case DATABASE_NAME:
50415 case ALLOW_CONNECTIONS:
50416 case GEO:
50417 case NAMED:
50418 case DATEFIRST:
50419 case BACKUP_STORAGE_REDUNDANCY:
50420 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
50421 case SECONDARY:
50422 case FAILOVER:
50423 case DEFAULT_FULLTEXT_LANGUAGE:
50424 case DEFAULT_LANGUAGE:
50425 case INLINE:
50426 case NESTED_TRIGGERS:
50427 case TRANSFORM_NOISE_WORDS:
50428 case TWO_DIGIT_YEAR_CUTOFF:
50429 case PERSISTENT_LOG_BUFFER:
50430 case DIRECTORY_NAME:
50431 case DATEFORMAT:
50432 case DELAYED_DURABILITY:
50433 case AUTHORIZATION:
50434 case TRANSFER:
50435 case PROVIDER:
50436 case SEARCH:
50437 case MEMBER:
50438 case IDENTIFIER_:
50439 case DELIMITED_IDENTIFIER_:
50440 {
50441 setState(6798);
50442 identifier();
50443 }
50444 break;
50445 default:
50446 throw new NoViableAltException(this);
50447 }
50448 }
50449 break;
50450 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
50451 enterOuterAlt(_localctx, 6);
50452 {
50453 setState(6801);
50454 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
50455 setState(6802);
50456 match(EQ_);
50457 setState(6804);
50458 _errHandler.sync(this);
50459 _la = _input.LA(1);
50460 if (_la==ON || _la==OFF) {
50461 {
50462 setState(6803);
50463 _la = _input.LA(1);
50464 if ( !(_la==ON || _la==OFF) ) {
50465 _errHandler.recoverInline(this);
50466 }
50467 else {
50468 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50469 _errHandler.reportMatch(this);
50470 consume();
50471 }
50472 }
50473 }
50474
50475 }
50476 break;
50477 default:
50478 throw new NoViableAltException(this);
50479 }
50480 }
50481 catch (RecognitionException re) {
50482 _localctx.exception = re;
50483 _errHandler.reportError(this, re);
50484 _errHandler.recover(this, re);
50485 }
50486 finally {
50487 exitRule();
50488 }
50489 return _localctx;
50490 }
50491
50492 public static class CreateRoleContext extends ParserRuleContext {
50493 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
50494 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
50495 public List<NameContext> name() {
50496 return getRuleContexts(NameContext.class);
50497 }
50498 public NameContext name(int i) {
50499 return getRuleContext(NameContext.class,i);
50500 }
50501 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
50502 public CreateRoleContext(ParserRuleContext parent, int invokingState) {
50503 super(parent, invokingState);
50504 }
50505 @Override public int getRuleIndex() { return RULE_createRole; }
50506 @Override
50507 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50508 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRole(this);
50509 else return visitor.visitChildren(this);
50510 }
50511 }
50512
50513 public final CreateRoleContext createRole() throws RecognitionException {
50514 CreateRoleContext _localctx = new CreateRoleContext(_ctx, getState());
50515 enterRule(_localctx, 930, RULE_createRole);
50516 int _la;
50517 try {
50518 enterOuterAlt(_localctx, 1);
50519 {
50520 setState(6808);
50521 match(CREATE);
50522 setState(6809);
50523 match(ROLE);
50524 setState(6810);
50525 name();
50526 setState(6813);
50527 _errHandler.sync(this);
50528 _la = _input.LA(1);
50529 if (_la==AUTHORIZATION) {
50530 {
50531 setState(6811);
50532 match(AUTHORIZATION);
50533 setState(6812);
50534 name();
50535 }
50536 }
50537
50538 }
50539 }
50540 catch (RecognitionException re) {
50541 _localctx.exception = re;
50542 _errHandler.reportError(this, re);
50543 _errHandler.recover(this, re);
50544 }
50545 finally {
50546 exitRule();
50547 }
50548 return _localctx;
50549 }
50550
50551 public static class DropRoleContext extends ParserRuleContext {
50552 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
50553 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
50554 public NameContext name() {
50555 return getRuleContext(NameContext.class,0);
50556 }
50557 public IfExistsContext ifExists() {
50558 return getRuleContext(IfExistsContext.class,0);
50559 }
50560 public DropRoleContext(ParserRuleContext parent, int invokingState) {
50561 super(parent, invokingState);
50562 }
50563 @Override public int getRuleIndex() { return RULE_dropRole; }
50564 @Override
50565 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50566 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropRole(this);
50567 else return visitor.visitChildren(this);
50568 }
50569 }
50570
50571 public final DropRoleContext dropRole() throws RecognitionException {
50572 DropRoleContext _localctx = new DropRoleContext(_ctx, getState());
50573 enterRule(_localctx, 932, RULE_dropRole);
50574 int _la;
50575 try {
50576 enterOuterAlt(_localctx, 1);
50577 {
50578 setState(6815);
50579 match(DROP);
50580 setState(6816);
50581 match(ROLE);
50582 setState(6818);
50583 _errHandler.sync(this);
50584 _la = _input.LA(1);
50585 if (_la==IF) {
50586 {
50587 setState(6817);
50588 ifExists();
50589 }
50590 }
50591
50592 setState(6820);
50593 name();
50594 }
50595 }
50596 catch (RecognitionException re) {
50597 _localctx.exception = re;
50598 _errHandler.reportError(this, re);
50599 _errHandler.recover(this, re);
50600 }
50601 finally {
50602 exitRule();
50603 }
50604 return _localctx;
50605 }
50606
50607 public static class AlterRoleContext extends ParserRuleContext {
50608 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
50609 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
50610 public List<NameContext> name() {
50611 return getRuleContexts(NameContext.class);
50612 }
50613 public NameContext name(int i) {
50614 return getRuleContext(NameContext.class,i);
50615 }
50616 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
50617 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
50618 public PrincipalContext principal() {
50619 return getRuleContext(PrincipalContext.class,0);
50620 }
50621 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
50622 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50623 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
50624 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50625 public AlterRoleContext(ParserRuleContext parent, int invokingState) {
50626 super(parent, invokingState);
50627 }
50628 @Override public int getRuleIndex() { return RULE_alterRole; }
50629 @Override
50630 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50631 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterRole(this);
50632 else return visitor.visitChildren(this);
50633 }
50634 }
50635
50636 public final AlterRoleContext alterRole() throws RecognitionException {
50637 AlterRoleContext _localctx = new AlterRoleContext(_ctx, getState());
50638 enterRule(_localctx, 934, RULE_alterRole);
50639 try {
50640 enterOuterAlt(_localctx, 1);
50641 {
50642 setState(6822);
50643 match(ALTER);
50644 setState(6823);
50645 match(ROLE);
50646 setState(6824);
50647 name();
50648 setState(6835);
50649 _errHandler.sync(this);
50650 switch (_input.LA(1)) {
50651 case ADD:
50652 {
50653 setState(6825);
50654 match(ADD);
50655 setState(6826);
50656 match(MEMBER);
50657 setState(6827);
50658 principal();
50659 }
50660 break;
50661 case DROP:
50662 {
50663 setState(6828);
50664 match(DROP);
50665 setState(6829);
50666 match(MEMBER);
50667 setState(6830);
50668 principal();
50669 }
50670 break;
50671 case WITH:
50672 {
50673 setState(6831);
50674 match(WITH);
50675 setState(6832);
50676 match(NAME);
50677 setState(6833);
50678 match(EQ_);
50679 setState(6834);
50680 name();
50681 }
50682 break;
50683 default:
50684 throw new NoViableAltException(this);
50685 }
50686 }
50687 }
50688 catch (RecognitionException re) {
50689 _localctx.exception = re;
50690 _errHandler.reportError(this, re);
50691 _errHandler.recover(this, re);
50692 }
50693 finally {
50694 exitRule();
50695 }
50696 return _localctx;
50697 }
50698
50699 public static class CreateLoginContext extends ParserRuleContext {
50700 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
50701 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
50702 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
50703 return getRuleContext(IgnoredNameIdentifierContext.class,0);
50704 }
50705 public CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() {
50706 return getRuleContext(CreateLoginForSQLServerClauseContext.class,0);
50707 }
50708 public CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() {
50709 return getRuleContext(CreateLoginForAzureSQLDatabaseClauseContext.class,0);
50710 }
50711 public CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() {
50712 return getRuleContext(CreateLoginForAzureManagedInstanceClauseContext.class,0);
50713 }
50714 public CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() {
50715 return getRuleContext(CreateLoginForAzureSynapseAnalyticsClauseContext.class,0);
50716 }
50717 public CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() {
50718 return getRuleContext(CreateLoginForAnalyticsPlatformSystemClauseContext.class,0);
50719 }
50720 public CreateLoginContext(ParserRuleContext parent, int invokingState) {
50721 super(parent, invokingState);
50722 }
50723 @Override public int getRuleIndex() { return RULE_createLogin; }
50724 @Override
50725 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50726 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLogin(this);
50727 else return visitor.visitChildren(this);
50728 }
50729 }
50730
50731 public final CreateLoginContext createLogin() throws RecognitionException {
50732 CreateLoginContext _localctx = new CreateLoginContext(_ctx, getState());
50733 enterRule(_localctx, 936, RULE_createLogin);
50734 try {
50735 enterOuterAlt(_localctx, 1);
50736 {
50737 setState(6837);
50738 match(CREATE);
50739 setState(6838);
50740 match(LOGIN);
50741 setState(6839);
50742 ignoredNameIdentifier();
50743 setState(6845);
50744 _errHandler.sync(this);
50745 switch ( getInterpreter().adaptivePredict(_input,792,_ctx) ) {
50746 case 1:
50747 {
50748 setState(6840);
50749 createLoginForSQLServerClause();
50750 }
50751 break;
50752 case 2:
50753 {
50754 setState(6841);
50755 createLoginForAzureSQLDatabaseClause();
50756 }
50757 break;
50758 case 3:
50759 {
50760 setState(6842);
50761 createLoginForAzureManagedInstanceClause();
50762 }
50763 break;
50764 case 4:
50765 {
50766 setState(6843);
50767 createLoginForAzureSynapseAnalyticsClause();
50768 }
50769 break;
50770 case 5:
50771 {
50772 setState(6844);
50773 createLoginForAnalyticsPlatformSystemClause();
50774 }
50775 break;
50776 }
50777 }
50778 }
50779 catch (RecognitionException re) {
50780 _localctx.exception = re;
50781 _errHandler.reportError(this, re);
50782 _errHandler.recover(this, re);
50783 }
50784 finally {
50785 exitRule();
50786 }
50787 return _localctx;
50788 }
50789
50790 public static class CreateLoginForSQLServerClauseContext extends ParserRuleContext {
50791 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50792 public CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() {
50793 return getRuleContext(CreateLoginForSQLServerOptionListContext.class,0);
50794 }
50795 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50796 public SourcesContext sources() {
50797 return getRuleContext(SourcesContext.class,0);
50798 }
50799 public CreateLoginForSQLServerClauseContext(ParserRuleContext parent, int invokingState) {
50800 super(parent, invokingState);
50801 }
50802 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerClause; }
50803 @Override
50804 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50805 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerClause(this);
50806 else return visitor.visitChildren(this);
50807 }
50808 }
50809
50810 public final CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() throws RecognitionException {
50811 CreateLoginForSQLServerClauseContext _localctx = new CreateLoginForSQLServerClauseContext(_ctx, getState());
50812 enterRule(_localctx, 938, RULE_createLoginForSQLServerClause);
50813 try {
50814 setState(6851);
50815 _errHandler.sync(this);
50816 switch (_input.LA(1)) {
50817 case WITH:
50818 enterOuterAlt(_localctx, 1);
50819 {
50820 setState(6847);
50821 match(WITH);
50822 setState(6848);
50823 createLoginForSQLServerOptionList();
50824 }
50825 break;
50826 case FROM:
50827 enterOuterAlt(_localctx, 2);
50828 {
50829 setState(6849);
50830 match(FROM);
50831 setState(6850);
50832 sources();
50833 }
50834 break;
50835 default:
50836 throw new NoViableAltException(this);
50837 }
50838 }
50839 catch (RecognitionException re) {
50840 _localctx.exception = re;
50841 _errHandler.reportError(this, re);
50842 _errHandler.recover(this, re);
50843 }
50844 finally {
50845 exitRule();
50846 }
50847 return _localctx;
50848 }
50849
50850 public static class CreateLoginForSQLServerOptionListContext extends ParserRuleContext {
50851 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50852 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50853 public StringLiteralsContext stringLiterals() {
50854 return getRuleContext(StringLiteralsContext.class,0);
50855 }
50856 public HashedPasswordContext hashedPassword() {
50857 return getRuleContext(HashedPasswordContext.class,0);
50858 }
50859 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
50860 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
50861 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50862 public TerminalNode COMMA_(int i) {
50863 return getToken(SQLServerStatementParser.COMMA_, i);
50864 }
50865 public List<CreateLoginForSQLServerOptionListClauseContext> createLoginForSQLServerOptionListClause() {
50866 return getRuleContexts(CreateLoginForSQLServerOptionListClauseContext.class);
50867 }
50868 public CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause(int i) {
50869 return getRuleContext(CreateLoginForSQLServerOptionListClauseContext.class,i);
50870 }
50871 public CreateLoginForSQLServerOptionListContext(ParserRuleContext parent, int invokingState) {
50872 super(parent, invokingState);
50873 }
50874 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionList; }
50875 @Override
50876 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50877 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionList(this);
50878 else return visitor.visitChildren(this);
50879 }
50880 }
50881
50882 public final CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() throws RecognitionException {
50883 CreateLoginForSQLServerOptionListContext _localctx = new CreateLoginForSQLServerOptionListContext(_ctx, getState());
50884 enterRule(_localctx, 940, RULE_createLoginForSQLServerOptionList);
50885 int _la;
50886 try {
50887 enterOuterAlt(_localctx, 1);
50888 {
50889 setState(6853);
50890 match(PASSWORD);
50891 setState(6854);
50892 match(EQ_);
50893 setState(6859);
50894 _errHandler.sync(this);
50895 switch (_input.LA(1)) {
50896 case STRING_:
50897 case NCHAR_TEXT:
50898 {
50899 setState(6855);
50900 stringLiterals();
50901 }
50902 break;
50903 case HEX_DIGIT_:
50904 {
50905 setState(6856);
50906 hashedPassword();
50907 setState(6857);
50908 match(HASHED);
50909 }
50910 break;
50911 default:
50912 throw new NoViableAltException(this);
50913 }
50914 setState(6862);
50915 _errHandler.sync(this);
50916 _la = _input.LA(1);
50917 if (_la==MUST_CHANGE) {
50918 {
50919 setState(6861);
50920 match(MUST_CHANGE);
50921 }
50922 }
50923
50924 setState(6873);
50925 _errHandler.sync(this);
50926 _la = _input.LA(1);
50927 if (_la==COMMA_) {
50928 {
50929 setState(6864);
50930 match(COMMA_);
50931 setState(6865);
50932 createLoginForSQLServerOptionListClause();
50933 setState(6870);
50934 _errHandler.sync(this);
50935 _la = _input.LA(1);
50936 while (_la==COMMA_) {
50937 {
50938 {
50939 setState(6866);
50940 match(COMMA_);
50941 setState(6867);
50942 createLoginForSQLServerOptionListClause();
50943 }
50944 }
50945 setState(6872);
50946 _errHandler.sync(this);
50947 _la = _input.LA(1);
50948 }
50949 }
50950 }
50951
50952 }
50953 }
50954 catch (RecognitionException re) {
50955 _localctx.exception = re;
50956 _errHandler.reportError(this, re);
50957 _errHandler.recover(this, re);
50958 }
50959 finally {
50960 exitRule();
50961 }
50962 return _localctx;
50963 }
50964
50965 public static class CreateLoginForSQLServerOptionListClauseContext extends ParserRuleContext {
50966 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
50967 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50968 public SidContext sid() {
50969 return getRuleContext(SidContext.class,0);
50970 }
50971 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
50972 public DatabaseNameContext databaseName() {
50973 return getRuleContext(DatabaseNameContext.class,0);
50974 }
50975 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50976 public IdentifierContext identifier() {
50977 return getRuleContext(IdentifierContext.class,0);
50978 }
50979 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
50980 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
50981 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
50982 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
50983 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
50984 public CreateLoginForSQLServerOptionListClauseContext(ParserRuleContext parent, int invokingState) {
50985 super(parent, invokingState);
50986 }
50987 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionListClause; }
50988 @Override
50989 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50990 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionListClause(this);
50991 else return visitor.visitChildren(this);
50992 }
50993 }
50994
50995 public final CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause() throws RecognitionException {
50996 CreateLoginForSQLServerOptionListClauseContext _localctx = new CreateLoginForSQLServerOptionListClauseContext(_ctx, getState());
50997 enterRule(_localctx, 942, RULE_createLoginForSQLServerOptionListClause);
50998 int _la;
50999 try {
51000 setState(6893);
51001 _errHandler.sync(this);
51002 switch (_input.LA(1)) {
51003 case SID:
51004 enterOuterAlt(_localctx, 1);
51005 {
51006 setState(6875);
51007 match(SID);
51008 setState(6876);
51009 match(EQ_);
51010 setState(6877);
51011 sid();
51012 }
51013 break;
51014 case DEFAULT_DATABASE:
51015 enterOuterAlt(_localctx, 2);
51016 {
51017 setState(6878);
51018 match(DEFAULT_DATABASE);
51019 setState(6879);
51020 match(EQ_);
51021 setState(6880);
51022 databaseName();
51023 }
51024 break;
51025 case DEFAULT_LANGUAGE:
51026 enterOuterAlt(_localctx, 3);
51027 {
51028 setState(6881);
51029 match(DEFAULT_LANGUAGE);
51030 setState(6882);
51031 match(EQ_);
51032 setState(6883);
51033 identifier();
51034 }
51035 break;
51036 case CHECK_EXPIRATION:
51037 enterOuterAlt(_localctx, 4);
51038 {
51039 setState(6884);
51040 match(CHECK_EXPIRATION);
51041 setState(6885);
51042 match(EQ_);
51043 setState(6886);
51044 _la = _input.LA(1);
51045 if ( !(_la==ON || _la==OFF) ) {
51046 _errHandler.recoverInline(this);
51047 }
51048 else {
51049 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51050 _errHandler.reportMatch(this);
51051 consume();
51052 }
51053 }
51054 break;
51055 case CHECK_POLICY:
51056 enterOuterAlt(_localctx, 5);
51057 {
51058 setState(6887);
51059 match(CHECK_POLICY);
51060 setState(6888);
51061 match(EQ_);
51062 setState(6889);
51063 _la = _input.LA(1);
51064 if ( !(_la==ON || _la==OFF) ) {
51065 _errHandler.recoverInline(this);
51066 }
51067 else {
51068 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51069 _errHandler.reportMatch(this);
51070 consume();
51071 }
51072 }
51073 break;
51074 case CREDENTIAL:
51075 enterOuterAlt(_localctx, 6);
51076 {
51077 setState(6890);
51078 match(CREDENTIAL);
51079 setState(6891);
51080 match(EQ_);
51081 setState(6892);
51082 identifier();
51083 }
51084 break;
51085 default:
51086 throw new NoViableAltException(this);
51087 }
51088 }
51089 catch (RecognitionException re) {
51090 _localctx.exception = re;
51091 _errHandler.reportError(this, re);
51092 _errHandler.recover(this, re);
51093 }
51094 finally {
51095 exitRule();
51096 }
51097 return _localctx;
51098 }
51099
51100 public static class HashedPasswordContext extends ParserRuleContext {
51101 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
51102 public HashedPasswordContext(ParserRuleContext parent, int invokingState) {
51103 super(parent, invokingState);
51104 }
51105 @Override public int getRuleIndex() { return RULE_hashedPassword; }
51106 @Override
51107 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51108 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashedPassword(this);
51109 else return visitor.visitChildren(this);
51110 }
51111 }
51112
51113 public final HashedPasswordContext hashedPassword() throws RecognitionException {
51114 HashedPasswordContext _localctx = new HashedPasswordContext(_ctx, getState());
51115 enterRule(_localctx, 944, RULE_hashedPassword);
51116 try {
51117 enterOuterAlt(_localctx, 1);
51118 {
51119 setState(6895);
51120 match(HEX_DIGIT_);
51121 }
51122 }
51123 catch (RecognitionException re) {
51124 _localctx.exception = re;
51125 _errHandler.reportError(this, re);
51126 _errHandler.recover(this, re);
51127 }
51128 finally {
51129 exitRule();
51130 }
51131 return _localctx;
51132 }
51133
51134 public static class SidContext extends ParserRuleContext {
51135 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
51136 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
51137 public SidContext(ParserRuleContext parent, int invokingState) {
51138 super(parent, invokingState);
51139 }
51140 @Override public int getRuleIndex() { return RULE_sid; }
51141 @Override
51142 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51143 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSid(this);
51144 else return visitor.visitChildren(this);
51145 }
51146 }
51147
51148 public final SidContext sid() throws RecognitionException {
51149 SidContext _localctx = new SidContext(_ctx, getState());
51150 enterRule(_localctx, 946, RULE_sid);
51151 int _la;
51152 try {
51153 enterOuterAlt(_localctx, 1);
51154 {
51155 setState(6897);
51156 _la = _input.LA(1);
51157 if ( !(_la==HEX_DIGIT_ || _la==NCHAR_TEXT) ) {
51158 _errHandler.recoverInline(this);
51159 }
51160 else {
51161 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51162 _errHandler.reportMatch(this);
51163 consume();
51164 }
51165 }
51166 }
51167 catch (RecognitionException re) {
51168 _localctx.exception = re;
51169 _errHandler.reportError(this, re);
51170 _errHandler.recover(this, re);
51171 }
51172 finally {
51173 exitRule();
51174 }
51175 return _localctx;
51176 }
51177
51178 public static class SourcesContext extends ParserRuleContext {
51179 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
51180 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51181 public List<WindowsOptionsContext> windowsOptions() {
51182 return getRuleContexts(WindowsOptionsContext.class);
51183 }
51184 public WindowsOptionsContext windowsOptions(int i) {
51185 return getRuleContext(WindowsOptionsContext.class,i);
51186 }
51187 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
51188 public TerminalNode COMMA_(int i) {
51189 return getToken(SQLServerStatementParser.COMMA_, i);
51190 }
51191 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
51192 public IdentifierContext identifier() {
51193 return getRuleContext(IdentifierContext.class,0);
51194 }
51195 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
51196 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
51197 public SourcesContext(ParserRuleContext parent, int invokingState) {
51198 super(parent, invokingState);
51199 }
51200 @Override public int getRuleIndex() { return RULE_sources; }
51201 @Override
51202 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51203 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSources(this);
51204 else return visitor.visitChildren(this);
51205 }
51206 }
51207
51208 public final SourcesContext sources() throws RecognitionException {
51209 SourcesContext _localctx = new SourcesContext(_ctx, getState());
51210 enterRule(_localctx, 948, RULE_sources);
51211 int _la;
51212 try {
51213 setState(6916);
51214 _errHandler.sync(this);
51215 switch (_input.LA(1)) {
51216 case WINDOWS:
51217 enterOuterAlt(_localctx, 1);
51218 {
51219 setState(6899);
51220 match(WINDOWS);
51221 setState(6909);
51222 _errHandler.sync(this);
51223 _la = _input.LA(1);
51224 if (_la==WITH) {
51225 {
51226 setState(6900);
51227 match(WITH);
51228 setState(6901);
51229 windowsOptions();
51230 setState(6906);
51231 _errHandler.sync(this);
51232 _la = _input.LA(1);
51233 while (_la==COMMA_) {
51234 {
51235 {
51236 setState(6902);
51237 match(COMMA_);
51238 setState(6903);
51239 windowsOptions();
51240 }
51241 }
51242 setState(6908);
51243 _errHandler.sync(this);
51244 _la = _input.LA(1);
51245 }
51246 }
51247 }
51248
51249 }
51250 break;
51251 case CERTIFICATE:
51252 enterOuterAlt(_localctx, 2);
51253 {
51254 setState(6911);
51255 match(CERTIFICATE);
51256 setState(6912);
51257 identifier();
51258 }
51259 break;
51260 case ASYMMETRIC:
51261 enterOuterAlt(_localctx, 3);
51262 {
51263 setState(6913);
51264 match(ASYMMETRIC);
51265 setState(6914);
51266 match(KEY);
51267 setState(6915);
51268 identifier();
51269 }
51270 break;
51271 default:
51272 throw new NoViableAltException(this);
51273 }
51274 }
51275 catch (RecognitionException re) {
51276 _localctx.exception = re;
51277 _errHandler.reportError(this, re);
51278 _errHandler.recover(this, re);
51279 }
51280 finally {
51281 exitRule();
51282 }
51283 return _localctx;
51284 }
51285
51286 public static class WindowsOptionsContext extends ParserRuleContext {
51287 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
51288 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51289 public DatabaseNameContext databaseName() {
51290 return getRuleContext(DatabaseNameContext.class,0);
51291 }
51292 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
51293 public IdentifierContext identifier() {
51294 return getRuleContext(IdentifierContext.class,0);
51295 }
51296 public WindowsOptionsContext(ParserRuleContext parent, int invokingState) {
51297 super(parent, invokingState);
51298 }
51299 @Override public int getRuleIndex() { return RULE_windowsOptions; }
51300 @Override
51301 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51302 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsOptions(this);
51303 else return visitor.visitChildren(this);
51304 }
51305 }
51306
51307 public final WindowsOptionsContext windowsOptions() throws RecognitionException {
51308 WindowsOptionsContext _localctx = new WindowsOptionsContext(_ctx, getState());
51309 enterRule(_localctx, 950, RULE_windowsOptions);
51310 try {
51311 setState(6924);
51312 _errHandler.sync(this);
51313 switch (_input.LA(1)) {
51314 case DEFAULT_DATABASE:
51315 enterOuterAlt(_localctx, 1);
51316 {
51317 setState(6918);
51318 match(DEFAULT_DATABASE);
51319 setState(6919);
51320 match(EQ_);
51321 setState(6920);
51322 databaseName();
51323 }
51324 break;
51325 case DEFAULT_LANGUAGE:
51326 enterOuterAlt(_localctx, 2);
51327 {
51328 setState(6921);
51329 match(DEFAULT_LANGUAGE);
51330 setState(6922);
51331 match(EQ_);
51332 setState(6923);
51333 identifier();
51334 }
51335 break;
51336 default:
51337 throw new NoViableAltException(this);
51338 }
51339 }
51340 catch (RecognitionException re) {
51341 _localctx.exception = re;
51342 _errHandler.reportError(this, re);
51343 _errHandler.recover(this, re);
51344 }
51345 finally {
51346 exitRule();
51347 }
51348 return _localctx;
51349 }
51350
51351 public static class CreateLoginForAzureSQLDatabaseClauseContext extends ParserRuleContext {
51352 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
51353 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
51354 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
51355 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51356 public List<CreateLoginForAzureSQLDatabaseOptionListContext> createLoginForAzureSQLDatabaseOptionList() {
51357 return getRuleContexts(CreateLoginForAzureSQLDatabaseOptionListContext.class);
51358 }
51359 public CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList(int i) {
51360 return getRuleContext(CreateLoginForAzureSQLDatabaseOptionListContext.class,i);
51361 }
51362 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
51363 public TerminalNode COMMA_(int i) {
51364 return getToken(SQLServerStatementParser.COMMA_, i);
51365 }
51366 public CreateLoginForAzureSQLDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
51367 super(parent, invokingState);
51368 }
51369 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseClause; }
51370 @Override
51371 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51372 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseClause(this);
51373 else return visitor.visitChildren(this);
51374 }
51375 }
51376
51377 public final CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() throws RecognitionException {
51378 CreateLoginForAzureSQLDatabaseClauseContext _localctx = new CreateLoginForAzureSQLDatabaseClauseContext(_ctx, getState());
51379 enterRule(_localctx, 952, RULE_createLoginForAzureSQLDatabaseClause);
51380 int _la;
51381 try {
51382 setState(6938);
51383 _errHandler.sync(this);
51384 switch (_input.LA(1)) {
51385 case FROM:
51386 enterOuterAlt(_localctx, 1);
51387 {
51388 setState(6926);
51389 match(FROM);
51390 setState(6927);
51391 match(EXTERNAL);
51392 setState(6928);
51393 match(PROVIDER);
51394 }
51395 break;
51396 case WITH:
51397 enterOuterAlt(_localctx, 2);
51398 {
51399 setState(6929);
51400 match(WITH);
51401 setState(6930);
51402 createLoginForAzureSQLDatabaseOptionList();
51403 setState(6935);
51404 _errHandler.sync(this);
51405 _la = _input.LA(1);
51406 while (_la==COMMA_) {
51407 {
51408 {
51409 setState(6931);
51410 match(COMMA_);
51411 setState(6932);
51412 createLoginForAzureSQLDatabaseOptionList();
51413 }
51414 }
51415 setState(6937);
51416 _errHandler.sync(this);
51417 _la = _input.LA(1);
51418 }
51419 }
51420 break;
51421 default:
51422 throw new NoViableAltException(this);
51423 }
51424 }
51425 catch (RecognitionException re) {
51426 _localctx.exception = re;
51427 _errHandler.reportError(this, re);
51428 _errHandler.recover(this, re);
51429 }
51430 finally {
51431 exitRule();
51432 }
51433 return _localctx;
51434 }
51435
51436 public static class CreateLoginForAzureSQLDatabaseOptionListContext extends ParserRuleContext {
51437 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51438 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
51439 public TerminalNode EQ_(int i) {
51440 return getToken(SQLServerStatementParser.EQ_, i);
51441 }
51442 public StringLiteralsContext stringLiterals() {
51443 return getRuleContext(StringLiteralsContext.class,0);
51444 }
51445 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
51446 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
51447 public SidContext sid() {
51448 return getRuleContext(SidContext.class,0);
51449 }
51450 public CreateLoginForAzureSQLDatabaseOptionListContext(ParserRuleContext parent, int invokingState) {
51451 super(parent, invokingState);
51452 }
51453 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseOptionList; }
51454 @Override
51455 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51456 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseOptionList(this);
51457 else return visitor.visitChildren(this);
51458 }
51459 }
51460
51461 public final CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList() throws RecognitionException {
51462 CreateLoginForAzureSQLDatabaseOptionListContext _localctx = new CreateLoginForAzureSQLDatabaseOptionListContext(_ctx, getState());
51463 enterRule(_localctx, 954, RULE_createLoginForAzureSQLDatabaseOptionList);
51464 try {
51465 enterOuterAlt(_localctx, 1);
51466 {
51467 setState(6940);
51468 match(PASSWORD);
51469 setState(6941);
51470 match(EQ_);
51471 setState(6942);
51472 stringLiterals();
51473 setState(6947);
51474 _errHandler.sync(this);
51475 switch ( getInterpreter().adaptivePredict(_input,805,_ctx) ) {
51476 case 1:
51477 {
51478 setState(6943);
51479 match(COMMA_);
51480 setState(6944);
51481 match(SID);
51482 setState(6945);
51483 match(EQ_);
51484 setState(6946);
51485 sid();
51486 }
51487 break;
51488 }
51489 }
51490 }
51491 catch (RecognitionException re) {
51492 _localctx.exception = re;
51493 _errHandler.reportError(this, re);
51494 _errHandler.recover(this, re);
51495 }
51496 finally {
51497 exitRule();
51498 }
51499 return _localctx;
51500 }
51501
51502 public static class CreateLoginForAzureManagedInstanceClauseContext extends ParserRuleContext {
51503 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51504 public List<AzureManagedInstanceOptionListContext> azureManagedInstanceOptionList() {
51505 return getRuleContexts(AzureManagedInstanceOptionListContext.class);
51506 }
51507 public AzureManagedInstanceOptionListContext azureManagedInstanceOptionList(int i) {
51508 return getRuleContext(AzureManagedInstanceOptionListContext.class,i);
51509 }
51510 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
51511 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
51512 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
51513 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
51514 public TerminalNode COMMA_(int i) {
51515 return getToken(SQLServerStatementParser.COMMA_, i);
51516 }
51517 public CreateLoginForAzureManagedInstanceClauseContext(ParserRuleContext parent, int invokingState) {
51518 super(parent, invokingState);
51519 }
51520 @Override public int getRuleIndex() { return RULE_createLoginForAzureManagedInstanceClause; }
51521 @Override
51522 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51523 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureManagedInstanceClause(this);
51524 else return visitor.visitChildren(this);
51525 }
51526 }
51527
51528 public final CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() throws RecognitionException {
51529 CreateLoginForAzureManagedInstanceClauseContext _localctx = new CreateLoginForAzureManagedInstanceClauseContext(_ctx, getState());
51530 enterRule(_localctx, 956, RULE_createLoginForAzureManagedInstanceClause);
51531 int _la;
51532 try {
51533 enterOuterAlt(_localctx, 1);
51534 {
51535 setState(6952);
51536 _errHandler.sync(this);
51537 _la = _input.LA(1);
51538 if (_la==FROM) {
51539 {
51540 setState(6949);
51541 match(FROM);
51542 setState(6950);
51543 match(EXTERNAL);
51544 setState(6951);
51545 match(PROVIDER);
51546 }
51547 }
51548
51549 setState(6954);
51550 match(WITH);
51551 setState(6955);
51552 azureManagedInstanceOptionList();
51553 setState(6960);
51554 _errHandler.sync(this);
51555 _la = _input.LA(1);
51556 while (_la==COMMA_) {
51557 {
51558 {
51559 setState(6956);
51560 match(COMMA_);
51561 setState(6957);
51562 azureManagedInstanceOptionList();
51563 }
51564 }
51565 setState(6962);
51566 _errHandler.sync(this);
51567 _la = _input.LA(1);
51568 }
51569 }
51570 }
51571 catch (RecognitionException re) {
51572 _localctx.exception = re;
51573 _errHandler.reportError(this, re);
51574 _errHandler.recover(this, re);
51575 }
51576 finally {
51577 exitRule();
51578 }
51579 return _localctx;
51580 }
51581
51582 public static class AzureManagedInstanceOptionListContext extends ParserRuleContext {
51583 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51584 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51585 public StringLiteralsContext stringLiterals() {
51586 return getRuleContext(StringLiteralsContext.class,0);
51587 }
51588 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
51589 public SidContext sid() {
51590 return getRuleContext(SidContext.class,0);
51591 }
51592 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
51593 public DatabaseNameContext databaseName() {
51594 return getRuleContext(DatabaseNameContext.class,0);
51595 }
51596 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
51597 public IdentifierContext identifier() {
51598 return getRuleContext(IdentifierContext.class,0);
51599 }
51600 public AzureManagedInstanceOptionListContext(ParserRuleContext parent, int invokingState) {
51601 super(parent, invokingState);
51602 }
51603 @Override public int getRuleIndex() { return RULE_azureManagedInstanceOptionList; }
51604 @Override
51605 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51606 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureManagedInstanceOptionList(this);
51607 else return visitor.visitChildren(this);
51608 }
51609 }
51610
51611 public final AzureManagedInstanceOptionListContext azureManagedInstanceOptionList() throws RecognitionException {
51612 AzureManagedInstanceOptionListContext _localctx = new AzureManagedInstanceOptionListContext(_ctx, getState());
51613 enterRule(_localctx, 958, RULE_azureManagedInstanceOptionList);
51614 try {
51615 setState(6975);
51616 _errHandler.sync(this);
51617 switch (_input.LA(1)) {
51618 case PASSWORD:
51619 enterOuterAlt(_localctx, 1);
51620 {
51621 setState(6963);
51622 match(PASSWORD);
51623 setState(6964);
51624 match(EQ_);
51625 setState(6965);
51626 stringLiterals();
51627 }
51628 break;
51629 case SID:
51630 enterOuterAlt(_localctx, 2);
51631 {
51632 setState(6966);
51633 match(SID);
51634 setState(6967);
51635 match(EQ_);
51636 setState(6968);
51637 sid();
51638 }
51639 break;
51640 case DEFAULT_DATABASE:
51641 enterOuterAlt(_localctx, 3);
51642 {
51643 setState(6969);
51644 match(DEFAULT_DATABASE);
51645 setState(6970);
51646 match(EQ_);
51647 setState(6971);
51648 databaseName();
51649 }
51650 break;
51651 case DEFAULT_LANGUAGE:
51652 enterOuterAlt(_localctx, 4);
51653 {
51654 setState(6972);
51655 match(DEFAULT_LANGUAGE);
51656 setState(6973);
51657 match(EQ_);
51658 setState(6974);
51659 identifier();
51660 }
51661 break;
51662 default:
51663 throw new NoViableAltException(this);
51664 }
51665 }
51666 catch (RecognitionException re) {
51667 _localctx.exception = re;
51668 _errHandler.reportError(this, re);
51669 _errHandler.recover(this, re);
51670 }
51671 finally {
51672 exitRule();
51673 }
51674 return _localctx;
51675 }
51676
51677 public static class CreateLoginForAzureSynapseAnalyticsClauseContext extends ParserRuleContext {
51678 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51679 public CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() {
51680 return getRuleContext(CreateLoginForAzureSynapseAnalyticsOptionListContext.class,0);
51681 }
51682 public CreateLoginForAzureSynapseAnalyticsClauseContext(ParserRuleContext parent, int invokingState) {
51683 super(parent, invokingState);
51684 }
51685 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsClause; }
51686 @Override
51687 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51688 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsClause(this);
51689 else return visitor.visitChildren(this);
51690 }
51691 }
51692
51693 public final CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() throws RecognitionException {
51694 CreateLoginForAzureSynapseAnalyticsClauseContext _localctx = new CreateLoginForAzureSynapseAnalyticsClauseContext(_ctx, getState());
51695 enterRule(_localctx, 960, RULE_createLoginForAzureSynapseAnalyticsClause);
51696 try {
51697 enterOuterAlt(_localctx, 1);
51698 {
51699 setState(6977);
51700 match(WITH);
51701 setState(6978);
51702 createLoginForAzureSynapseAnalyticsOptionList();
51703 }
51704 }
51705 catch (RecognitionException re) {
51706 _localctx.exception = re;
51707 _errHandler.reportError(this, re);
51708 _errHandler.recover(this, re);
51709 }
51710 finally {
51711 exitRule();
51712 }
51713 return _localctx;
51714 }
51715
51716 public static class CreateLoginForAzureSynapseAnalyticsOptionListContext extends ParserRuleContext {
51717 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51718 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
51719 public TerminalNode EQ_(int i) {
51720 return getToken(SQLServerStatementParser.EQ_, i);
51721 }
51722 public StringLiteralsContext stringLiterals() {
51723 return getRuleContext(StringLiteralsContext.class,0);
51724 }
51725 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
51726 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
51727 public SidContext sid() {
51728 return getRuleContext(SidContext.class,0);
51729 }
51730 public CreateLoginForAzureSynapseAnalyticsOptionListContext(ParserRuleContext parent, int invokingState) {
51731 super(parent, invokingState);
51732 }
51733 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsOptionList; }
51734 @Override
51735 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51736 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsOptionList(this);
51737 else return visitor.visitChildren(this);
51738 }
51739 }
51740
51741 public final CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() throws RecognitionException {
51742 CreateLoginForAzureSynapseAnalyticsOptionListContext _localctx = new CreateLoginForAzureSynapseAnalyticsOptionListContext(_ctx, getState());
51743 enterRule(_localctx, 962, RULE_createLoginForAzureSynapseAnalyticsOptionList);
51744 int _la;
51745 try {
51746 enterOuterAlt(_localctx, 1);
51747 {
51748 setState(6980);
51749 match(PASSWORD);
51750 setState(6981);
51751 match(EQ_);
51752 setState(6982);
51753 stringLiterals();
51754 setState(6987);
51755 _errHandler.sync(this);
51756 _la = _input.LA(1);
51757 if (_la==COMMA_) {
51758 {
51759 setState(6983);
51760 match(COMMA_);
51761 setState(6984);
51762 match(SID);
51763 setState(6985);
51764 match(EQ_);
51765 setState(6986);
51766 sid();
51767 }
51768 }
51769
51770 }
51771 }
51772 catch (RecognitionException re) {
51773 _localctx.exception = re;
51774 _errHandler.reportError(this, re);
51775 _errHandler.recover(this, re);
51776 }
51777 finally {
51778 exitRule();
51779 }
51780 return _localctx;
51781 }
51782
51783 public static class CreateLoginForAnalyticsPlatformSystemClauseContext extends ParserRuleContext {
51784 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51785 public CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() {
51786 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListContext.class,0);
51787 }
51788 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
51789 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
51790 public CreateLoginForAnalyticsPlatformSystemClauseContext(ParserRuleContext parent, int invokingState) {
51791 super(parent, invokingState);
51792 }
51793 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemClause; }
51794 @Override
51795 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51796 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemClause(this);
51797 else return visitor.visitChildren(this);
51798 }
51799 }
51800
51801 public final CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() throws RecognitionException {
51802 CreateLoginForAnalyticsPlatformSystemClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemClauseContext(_ctx, getState());
51803 enterRule(_localctx, 964, RULE_createLoginForAnalyticsPlatformSystemClause);
51804 try {
51805 setState(6993);
51806 _errHandler.sync(this);
51807 switch (_input.LA(1)) {
51808 case WITH:
51809 enterOuterAlt(_localctx, 1);
51810 {
51811 setState(6989);
51812 match(WITH);
51813 setState(6990);
51814 createLoginForAnalyticsPlatformSystemOptionList();
51815 }
51816 break;
51817 case FROM:
51818 enterOuterAlt(_localctx, 2);
51819 {
51820 setState(6991);
51821 match(FROM);
51822 setState(6992);
51823 match(WINDOWS);
51824 }
51825 break;
51826 default:
51827 throw new NoViableAltException(this);
51828 }
51829 }
51830 catch (RecognitionException re) {
51831 _localctx.exception = re;
51832 _errHandler.reportError(this, re);
51833 _errHandler.recover(this, re);
51834 }
51835 finally {
51836 exitRule();
51837 }
51838 return _localctx;
51839 }
51840
51841 public static class CreateLoginForAnalyticsPlatformSystemOptionListContext extends ParserRuleContext {
51842 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51843 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51844 public StringLiteralsContext stringLiterals() {
51845 return getRuleContext(StringLiteralsContext.class,0);
51846 }
51847 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
51848 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
51849 public TerminalNode COMMA_(int i) {
51850 return getToken(SQLServerStatementParser.COMMA_, i);
51851 }
51852 public List<CreateLoginForAnalyticsPlatformSystemOptionListClauseContext> createLoginForAnalyticsPlatformSystemOptionListClause() {
51853 return getRuleContexts(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class);
51854 }
51855 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause(int i) {
51856 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class,i);
51857 }
51858 public CreateLoginForAnalyticsPlatformSystemOptionListContext(ParserRuleContext parent, int invokingState) {
51859 super(parent, invokingState);
51860 }
51861 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionList; }
51862 @Override
51863 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51864 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionList(this);
51865 else return visitor.visitChildren(this);
51866 }
51867 }
51868
51869 public final CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() throws RecognitionException {
51870 CreateLoginForAnalyticsPlatformSystemOptionListContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListContext(_ctx, getState());
51871 enterRule(_localctx, 966, RULE_createLoginForAnalyticsPlatformSystemOptionList);
51872 int _la;
51873 try {
51874 enterOuterAlt(_localctx, 1);
51875 {
51876 setState(6995);
51877 match(PASSWORD);
51878 setState(6996);
51879 match(EQ_);
51880 setState(6997);
51881 stringLiterals();
51882 setState(6999);
51883 _errHandler.sync(this);
51884 _la = _input.LA(1);
51885 if (_la==MUST_CHANGE) {
51886 {
51887 setState(6998);
51888 match(MUST_CHANGE);
51889 }
51890 }
51891
51892 setState(7010);
51893 _errHandler.sync(this);
51894 _la = _input.LA(1);
51895 if (_la==COMMA_) {
51896 {
51897 setState(7001);
51898 match(COMMA_);
51899 setState(7002);
51900 createLoginForAnalyticsPlatformSystemOptionListClause();
51901 setState(7007);
51902 _errHandler.sync(this);
51903 _la = _input.LA(1);
51904 while (_la==COMMA_) {
51905 {
51906 {
51907 setState(7003);
51908 match(COMMA_);
51909 setState(7004);
51910 createLoginForAnalyticsPlatformSystemOptionListClause();
51911 }
51912 }
51913 setState(7009);
51914 _errHandler.sync(this);
51915 _la = _input.LA(1);
51916 }
51917 }
51918 }
51919
51920 }
51921 }
51922 catch (RecognitionException re) {
51923 _localctx.exception = re;
51924 _errHandler.reportError(this, re);
51925 _errHandler.recover(this, re);
51926 }
51927 finally {
51928 exitRule();
51929 }
51930 return _localctx;
51931 }
51932
51933 public static class CreateLoginForAnalyticsPlatformSystemOptionListClauseContext extends ParserRuleContext {
51934 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
51935 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51936 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
51937 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
51938 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
51939 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(ParserRuleContext parent, int invokingState) {
51940 super(parent, invokingState);
51941 }
51942 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionListClause; }
51943 @Override
51944 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51945 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionListClause(this);
51946 else return visitor.visitChildren(this);
51947 }
51948 }
51949
51950 public final CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause() throws RecognitionException {
51951 CreateLoginForAnalyticsPlatformSystemOptionListClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(_ctx, getState());
51952 enterRule(_localctx, 968, RULE_createLoginForAnalyticsPlatformSystemOptionListClause);
51953 int _la;
51954 try {
51955 setState(7018);
51956 _errHandler.sync(this);
51957 switch (_input.LA(1)) {
51958 case CHECK_EXPIRATION:
51959 enterOuterAlt(_localctx, 1);
51960 {
51961 setState(7012);
51962 match(CHECK_EXPIRATION);
51963 setState(7013);
51964 match(EQ_);
51965 setState(7014);
51966 _la = _input.LA(1);
51967 if ( !(_la==ON || _la==OFF) ) {
51968 _errHandler.recoverInline(this);
51969 }
51970 else {
51971 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51972 _errHandler.reportMatch(this);
51973 consume();
51974 }
51975 }
51976 break;
51977 case CHECK_POLICY:
51978 enterOuterAlt(_localctx, 2);
51979 {
51980 setState(7015);
51981 match(CHECK_POLICY);
51982 setState(7016);
51983 match(EQ_);
51984 setState(7017);
51985 _la = _input.LA(1);
51986 if ( !(_la==ON || _la==OFF) ) {
51987 _errHandler.recoverInline(this);
51988 }
51989 else {
51990 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51991 _errHandler.reportMatch(this);
51992 consume();
51993 }
51994 }
51995 break;
51996 default:
51997 throw new NoViableAltException(this);
51998 }
51999 }
52000 catch (RecognitionException re) {
52001 _localctx.exception = re;
52002 _errHandler.reportError(this, re);
52003 _errHandler.recover(this, re);
52004 }
52005 finally {
52006 exitRule();
52007 }
52008 return _localctx;
52009 }
52010
52011 public static class DropLoginContext extends ParserRuleContext {
52012 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
52013 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
52014 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
52015 return getRuleContext(IgnoredNameIdentifierContext.class,0);
52016 }
52017 public DropLoginContext(ParserRuleContext parent, int invokingState) {
52018 super(parent, invokingState);
52019 }
52020 @Override public int getRuleIndex() { return RULE_dropLogin; }
52021 @Override
52022 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52023 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropLogin(this);
52024 else return visitor.visitChildren(this);
52025 }
52026 }
52027
52028 public final DropLoginContext dropLogin() throws RecognitionException {
52029 DropLoginContext _localctx = new DropLoginContext(_ctx, getState());
52030 enterRule(_localctx, 970, RULE_dropLogin);
52031 try {
52032 enterOuterAlt(_localctx, 1);
52033 {
52034 setState(7020);
52035 match(DROP);
52036 setState(7021);
52037 match(LOGIN);
52038 setState(7022);
52039 ignoredNameIdentifier();
52040 }
52041 }
52042 catch (RecognitionException re) {
52043 _localctx.exception = re;
52044 _errHandler.reportError(this, re);
52045 _errHandler.recover(this, re);
52046 }
52047 finally {
52048 exitRule();
52049 }
52050 return _localctx;
52051 }
52052
52053 public static class AlterLoginContext extends ParserRuleContext {
52054 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
52055 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
52056 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
52057 return getRuleContext(IgnoredNameIdentifierContext.class,0);
52058 }
52059 public StatusOptionClauseContext statusOptionClause() {
52060 return getRuleContext(StatusOptionClauseContext.class,0);
52061 }
52062 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52063 public List<SetOptionClauseContext> setOptionClause() {
52064 return getRuleContexts(SetOptionClauseContext.class);
52065 }
52066 public SetOptionClauseContext setOptionClause(int i) {
52067 return getRuleContext(SetOptionClauseContext.class,i);
52068 }
52069 public CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() {
52070 return getRuleContext(CryptographicCredentialsOptionClauseContext.class,0);
52071 }
52072 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52073 public TerminalNode COMMA_(int i) {
52074 return getToken(SQLServerStatementParser.COMMA_, i);
52075 }
52076 public AlterLoginContext(ParserRuleContext parent, int invokingState) {
52077 super(parent, invokingState);
52078 }
52079 @Override public int getRuleIndex() { return RULE_alterLogin; }
52080 @Override
52081 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52082 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterLogin(this);
52083 else return visitor.visitChildren(this);
52084 }
52085 }
52086
52087 public final AlterLoginContext alterLogin() throws RecognitionException {
52088 AlterLoginContext _localctx = new AlterLoginContext(_ctx, getState());
52089 enterRule(_localctx, 972, RULE_alterLogin);
52090 int _la;
52091 try {
52092 enterOuterAlt(_localctx, 1);
52093 {
52094 setState(7024);
52095 match(ALTER);
52096 setState(7025);
52097 match(LOGIN);
52098 setState(7026);
52099 ignoredNameIdentifier();
52100 setState(7038);
52101 _errHandler.sync(this);
52102 switch (_input.LA(1)) {
52103 case ENABLE:
52104 case DISABLE:
52105 {
52106 setState(7027);
52107 statusOptionClause();
52108 }
52109 break;
52110 case WITH:
52111 {
52112 setState(7028);
52113 match(WITH);
52114 setState(7029);
52115 setOptionClause();
52116 setState(7034);
52117 _errHandler.sync(this);
52118 _la = _input.LA(1);
52119 while (_la==COMMA_) {
52120 {
52121 {
52122 setState(7030);
52123 match(COMMA_);
52124 setState(7031);
52125 setOptionClause();
52126 }
52127 }
52128 setState(7036);
52129 _errHandler.sync(this);
52130 _la = _input.LA(1);
52131 }
52132 }
52133 break;
52134 case DROP:
52135 case ADD:
52136 {
52137 setState(7037);
52138 cryptographicCredentialsOptionClause();
52139 }
52140 break;
52141 default:
52142 throw new NoViableAltException(this);
52143 }
52144 }
52145 }
52146 catch (RecognitionException re) {
52147 _localctx.exception = re;
52148 _errHandler.reportError(this, re);
52149 _errHandler.recover(this, re);
52150 }
52151 finally {
52152 exitRule();
52153 }
52154 return _localctx;
52155 }
52156
52157 public static class StatusOptionClauseContext extends ParserRuleContext {
52158 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
52159 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
52160 public StatusOptionClauseContext(ParserRuleContext parent, int invokingState) {
52161 super(parent, invokingState);
52162 }
52163 @Override public int getRuleIndex() { return RULE_statusOptionClause; }
52164 @Override
52165 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52166 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatusOptionClause(this);
52167 else return visitor.visitChildren(this);
52168 }
52169 }
52170
52171 public final StatusOptionClauseContext statusOptionClause() throws RecognitionException {
52172 StatusOptionClauseContext _localctx = new StatusOptionClauseContext(_ctx, getState());
52173 enterRule(_localctx, 974, RULE_statusOptionClause);
52174 int _la;
52175 try {
52176 enterOuterAlt(_localctx, 1);
52177 {
52178 setState(7040);
52179 _la = _input.LA(1);
52180 if ( !(_la==ENABLE || _la==DISABLE) ) {
52181 _errHandler.recoverInline(this);
52182 }
52183 else {
52184 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52185 _errHandler.reportMatch(this);
52186 consume();
52187 }
52188 }
52189 }
52190 catch (RecognitionException re) {
52191 _localctx.exception = re;
52192 _errHandler.reportError(this, re);
52193 _errHandler.recover(this, re);
52194 }
52195 finally {
52196 exitRule();
52197 }
52198 return _localctx;
52199 }
52200
52201 public static class SetOptionClauseContext extends ParserRuleContext {
52202 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52203 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
52204 public TerminalNode EQ_(int i) {
52205 return getToken(SQLServerStatementParser.EQ_, i);
52206 }
52207 public List<StringLiteralsContext> stringLiterals() {
52208 return getRuleContexts(StringLiteralsContext.class);
52209 }
52210 public StringLiteralsContext stringLiterals(int i) {
52211 return getRuleContext(StringLiteralsContext.class,i);
52212 }
52213 public HashedPasswordContext hashedPassword() {
52214 return getRuleContext(HashedPasswordContext.class,0);
52215 }
52216 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
52217 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
52218 public List<PasswordOptionClauseContext> passwordOptionClause() {
52219 return getRuleContexts(PasswordOptionClauseContext.class);
52220 }
52221 public PasswordOptionClauseContext passwordOptionClause(int i) {
52222 return getRuleContext(PasswordOptionClauseContext.class,i);
52223 }
52224 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
52225 public DatabaseNameContext databaseName() {
52226 return getRuleContext(DatabaseNameContext.class,0);
52227 }
52228 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
52229 public IdentifierContext identifier() {
52230 return getRuleContext(IdentifierContext.class,0);
52231 }
52232 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
52233 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
52234 return getRuleContext(IgnoredNameIdentifierContext.class,0);
52235 }
52236 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
52237 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
52238 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
52239 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
52240 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
52241 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
52242 public SetOptionClauseContext(ParserRuleContext parent, int invokingState) {
52243 super(parent, invokingState);
52244 }
52245 @Override public int getRuleIndex() { return RULE_setOptionClause; }
52246 @Override
52247 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52248 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetOptionClause(this);
52249 else return visitor.visitChildren(this);
52250 }
52251 }
52252
52253 public final SetOptionClauseContext setOptionClause() throws RecognitionException {
52254 SetOptionClauseContext _localctx = new SetOptionClauseContext(_ctx, getState());
52255 enterRule(_localctx, 976, RULE_setOptionClause);
52256 int _la;
52257 try {
52258 setState(7079);
52259 _errHandler.sync(this);
52260 switch (_input.LA(1)) {
52261 case PASSWORD:
52262 enterOuterAlt(_localctx, 1);
52263 {
52264 setState(7042);
52265 match(PASSWORD);
52266 setState(7043);
52267 match(EQ_);
52268 setState(7048);
52269 _errHandler.sync(this);
52270 switch (_input.LA(1)) {
52271 case STRING_:
52272 case NCHAR_TEXT:
52273 {
52274 setState(7044);
52275 stringLiterals();
52276 }
52277 break;
52278 case HEX_DIGIT_:
52279 {
52280 setState(7045);
52281 hashedPassword();
52282 setState(7046);
52283 match(HASHED);
52284 }
52285 break;
52286 default:
52287 throw new NoViableAltException(this);
52288 }
52289 setState(7057);
52290 _errHandler.sync(this);
52291 switch (_input.LA(1)) {
52292 case OLD_PASSWORD:
52293 {
52294 setState(7050);
52295 match(OLD_PASSWORD);
52296 setState(7051);
52297 match(EQ_);
52298 setState(7052);
52299 stringLiterals();
52300 }
52301 break;
52302 case MUST_CHANGE:
52303 case UNLOCK:
52304 {
52305 setState(7053);
52306 passwordOptionClause();
52307 setState(7055);
52308 _errHandler.sync(this);
52309 _la = _input.LA(1);
52310 if (_la==MUST_CHANGE || _la==UNLOCK) {
52311 {
52312 setState(7054);
52313 passwordOptionClause();
52314 }
52315 }
52316
52317 }
52318 break;
52319 case EOF:
52320 case COMMA_:
52321 case SEMI_:
52322 break;
52323 default:
52324 break;
52325 }
52326 }
52327 break;
52328 case DEFAULT_DATABASE:
52329 enterOuterAlt(_localctx, 2);
52330 {
52331 setState(7059);
52332 match(DEFAULT_DATABASE);
52333 setState(7060);
52334 match(EQ_);
52335 setState(7061);
52336 databaseName();
52337 }
52338 break;
52339 case DEFAULT_LANGUAGE:
52340 enterOuterAlt(_localctx, 3);
52341 {
52342 setState(7062);
52343 match(DEFAULT_LANGUAGE);
52344 setState(7063);
52345 match(EQ_);
52346 setState(7064);
52347 identifier();
52348 }
52349 break;
52350 case NAME:
52351 enterOuterAlt(_localctx, 4);
52352 {
52353 setState(7065);
52354 match(NAME);
52355 setState(7066);
52356 match(EQ_);
52357 setState(7067);
52358 ignoredNameIdentifier();
52359 }
52360 break;
52361 case CHECK_POLICY:
52362 enterOuterAlt(_localctx, 5);
52363 {
52364 setState(7068);
52365 match(CHECK_POLICY);
52366 setState(7069);
52367 match(EQ_);
52368 setState(7070);
52369 _la = _input.LA(1);
52370 if ( !(_la==ON || _la==OFF) ) {
52371 _errHandler.recoverInline(this);
52372 }
52373 else {
52374 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52375 _errHandler.reportMatch(this);
52376 consume();
52377 }
52378 }
52379 break;
52380 case CHECK_EXPIRATION:
52381 enterOuterAlt(_localctx, 6);
52382 {
52383 setState(7071);
52384 match(CHECK_EXPIRATION);
52385 setState(7072);
52386 match(EQ_);
52387 setState(7073);
52388 _la = _input.LA(1);
52389 if ( !(_la==ON || _la==OFF) ) {
52390 _errHandler.recoverInline(this);
52391 }
52392 else {
52393 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52394 _errHandler.reportMatch(this);
52395 consume();
52396 }
52397 }
52398 break;
52399 case CREDENTIAL:
52400 enterOuterAlt(_localctx, 7);
52401 {
52402 setState(7074);
52403 match(CREDENTIAL);
52404 setState(7075);
52405 match(EQ_);
52406 setState(7076);
52407 identifier();
52408 }
52409 break;
52410 case NO:
52411 enterOuterAlt(_localctx, 8);
52412 {
52413 setState(7077);
52414 match(NO);
52415 setState(7078);
52416 match(CREDENTIAL);
52417 }
52418 break;
52419 default:
52420 throw new NoViableAltException(this);
52421 }
52422 }
52423 catch (RecognitionException re) {
52424 _localctx.exception = re;
52425 _errHandler.reportError(this, re);
52426 _errHandler.recover(this, re);
52427 }
52428 finally {
52429 exitRule();
52430 }
52431 return _localctx;
52432 }
52433
52434 public static class PasswordOptionClauseContext extends ParserRuleContext {
52435 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
52436 public TerminalNode UNLOCK() { return getToken(SQLServerStatementParser.UNLOCK, 0); }
52437 public PasswordOptionClauseContext(ParserRuleContext parent, int invokingState) {
52438 super(parent, invokingState);
52439 }
52440 @Override public int getRuleIndex() { return RULE_passwordOptionClause; }
52441 @Override
52442 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52443 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPasswordOptionClause(this);
52444 else return visitor.visitChildren(this);
52445 }
52446 }
52447
52448 public final PasswordOptionClauseContext passwordOptionClause() throws RecognitionException {
52449 PasswordOptionClauseContext _localctx = new PasswordOptionClauseContext(_ctx, getState());
52450 enterRule(_localctx, 978, RULE_passwordOptionClause);
52451 int _la;
52452 try {
52453 enterOuterAlt(_localctx, 1);
52454 {
52455 setState(7081);
52456 _la = _input.LA(1);
52457 if ( !(_la==MUST_CHANGE || _la==UNLOCK) ) {
52458 _errHandler.recoverInline(this);
52459 }
52460 else {
52461 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52462 _errHandler.reportMatch(this);
52463 consume();
52464 }
52465 }
52466 }
52467 catch (RecognitionException re) {
52468 _localctx.exception = re;
52469 _errHandler.reportError(this, re);
52470 _errHandler.recover(this, re);
52471 }
52472 finally {
52473 exitRule();
52474 }
52475 return _localctx;
52476 }
52477
52478 public static class CryptographicCredentialsOptionClauseContext extends ParserRuleContext {
52479 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
52480 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
52481 public IdentifierContext identifier() {
52482 return getRuleContext(IdentifierContext.class,0);
52483 }
52484 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
52485 public CryptographicCredentialsOptionClauseContext(ParserRuleContext parent, int invokingState) {
52486 super(parent, invokingState);
52487 }
52488 @Override public int getRuleIndex() { return RULE_cryptographicCredentialsOptionClause; }
52489 @Override
52490 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52491 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCryptographicCredentialsOptionClause(this);
52492 else return visitor.visitChildren(this);
52493 }
52494 }
52495
52496 public final CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() throws RecognitionException {
52497 CryptographicCredentialsOptionClauseContext _localctx = new CryptographicCredentialsOptionClauseContext(_ctx, getState());
52498 enterRule(_localctx, 980, RULE_cryptographicCredentialsOptionClause);
52499 try {
52500 setState(7089);
52501 _errHandler.sync(this);
52502 switch (_input.LA(1)) {
52503 case ADD:
52504 enterOuterAlt(_localctx, 1);
52505 {
52506 setState(7083);
52507 match(ADD);
52508 setState(7084);
52509 match(CREDENTIAL);
52510 setState(7085);
52511 identifier();
52512 }
52513 break;
52514 case DROP:
52515 enterOuterAlt(_localctx, 2);
52516 {
52517 setState(7086);
52518 match(DROP);
52519 setState(7087);
52520 match(CREDENTIAL);
52521 setState(7088);
52522 identifier();
52523 }
52524 break;
52525 default:
52526 throw new NoViableAltException(this);
52527 }
52528 }
52529 catch (RecognitionException re) {
52530 _localctx.exception = re;
52531 _errHandler.reportError(this, re);
52532 _errHandler.recover(this, re);
52533 }
52534 finally {
52535 exitRule();
52536 }
52537 return _localctx;
52538 }
52539
52540 public static class RevertContext extends ParserRuleContext {
52541 public TerminalNode REVERT() { return getToken(SQLServerStatementParser.REVERT, 0); }
52542 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52543 public TerminalNode COOKIE() { return getToken(SQLServerStatementParser.COOKIE, 0); }
52544 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52545 public VariableNameContext variableName() {
52546 return getRuleContext(VariableNameContext.class,0);
52547 }
52548 public RevertContext(ParserRuleContext parent, int invokingState) {
52549 super(parent, invokingState);
52550 }
52551 @Override public int getRuleIndex() { return RULE_revert; }
52552 @Override
52553 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52554 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevert(this);
52555 else return visitor.visitChildren(this);
52556 }
52557 }
52558
52559 public final RevertContext revert() throws RecognitionException {
52560 RevertContext _localctx = new RevertContext(_ctx, getState());
52561 enterRule(_localctx, 982, RULE_revert);
52562 int _la;
52563 try {
52564 enterOuterAlt(_localctx, 1);
52565 {
52566 setState(7091);
52567 match(REVERT);
52568 setState(7096);
52569 _errHandler.sync(this);
52570 _la = _input.LA(1);
52571 if (_la==WITH) {
52572 {
52573 setState(7092);
52574 match(WITH);
52575 setState(7093);
52576 match(COOKIE);
52577 setState(7094);
52578 match(EQ_);
52579 setState(7095);
52580 variableName();
52581 }
52582 }
52583
52584 }
52585 }
52586 catch (RecognitionException re) {
52587 _localctx.exception = re;
52588 _errHandler.reportError(this, re);
52589 _errHandler.recover(this, re);
52590 }
52591 finally {
52592 exitRule();
52593 }
52594 return _localctx;
52595 }
52596
52597 public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
52598 switch (ruleIndex) {
52599 case 49:
52600 return expr_sempred((ExprContext)_localctx, predIndex);
52601 case 54:
52602 return booleanPrimary_sempred((BooleanPrimaryContext)_localctx, predIndex);
52603 case 57:
52604 return bitExpr_sempred((BitExprContext)_localctx, predIndex);
52605 case 58:
52606 return simpleExpr_sempred((SimpleExprContext)_localctx, predIndex);
52607 }
52608 return true;
52609 }
52610 private boolean expr_sempred(ExprContext _localctx, int predIndex) {
52611 switch (predIndex) {
52612 case 0:
52613 return precpred(_ctx, 5);
52614 case 1:
52615 return precpred(_ctx, 4);
52616 case 2:
52617 return precpred(_ctx, 3);
52618 }
52619 return true;
52620 }
52621 private boolean booleanPrimary_sempred(BooleanPrimaryContext _localctx, int predIndex) {
52622 switch (predIndex) {
52623 case 3:
52624 return precpred(_ctx, 5);
52625 case 4:
52626 return precpred(_ctx, 4);
52627 case 5:
52628 return precpred(_ctx, 3);
52629 case 6:
52630 return precpred(_ctx, 2);
52631 }
52632 return true;
52633 }
52634 private boolean bitExpr_sempred(BitExprContext _localctx, int predIndex) {
52635 switch (predIndex) {
52636 case 7:
52637 return precpred(_ctx, 11);
52638 case 8:
52639 return precpred(_ctx, 10);
52640 case 9:
52641 return precpred(_ctx, 9);
52642 case 10:
52643 return precpred(_ctx, 8);
52644 case 11:
52645 return precpred(_ctx, 7);
52646 case 12:
52647 return precpred(_ctx, 6);
52648 case 13:
52649 return precpred(_ctx, 5);
52650 case 14:
52651 return precpred(_ctx, 4);
52652 case 15:
52653 return precpred(_ctx, 3);
52654 case 16:
52655 return precpred(_ctx, 2);
52656 }
52657 return true;
52658 }
52659 private boolean simpleExpr_sempred(SimpleExprContext _localctx, int predIndex) {
52660 switch (predIndex) {
52661 case 17:
52662 return precpred(_ctx, 7);
52663 }
52664 return true;
52665 }
52666
52667 private static final String _serializedATNSegment0 =
52668 "\u0004\u0001\u02d1\u1bbb\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+
52669 "\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+
52670 "\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+
52671 "\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+
52672 "\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+
52673 "\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+
52674 "\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+
52675 "\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+
52676 "\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+
52677 "\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007"+
52678 "\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007"+
52679 "\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007"+
52680 "\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007"+
52681 ",\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u0007"+
52682 "1\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u0007"+
52683 "6\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007"+
52684 ";\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007"+
52685 "@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007"+
52686 "E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007"+
52687 "J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007"+
52688 "O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007"+
52689 "T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007"+
52690 "Y\u0002Z\u0007Z\u0002[\u0007[\u0002\\\u0007\\\u0002]\u0007]\u0002^\u0007"+
52691 "^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007"+
52692 "c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007"+
52693 "h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007"+
52694 "m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0002r\u0007"+
52695 "r\u0002s\u0007s\u0002t\u0007t\u0002u\u0007u\u0002v\u0007v\u0002w\u0007"+
52696 "w\u0002x\u0007x\u0002y\u0007y\u0002z\u0007z\u0002{\u0007{\u0002|\u0007"+
52697 "|\u0002}\u0007}\u0002~\u0007~\u0002\u007f\u0007\u007f\u0002\u0080\u0007"+
52698 "\u0080\u0002\u0081\u0007\u0081\u0002\u0082\u0007\u0082\u0002\u0083\u0007"+
52699 "\u0083\u0002\u0084\u0007\u0084\u0002\u0085\u0007\u0085\u0002\u0086\u0007"+
52700 "\u0086\u0002\u0087\u0007\u0087\u0002\u0088\u0007\u0088\u0002\u0089\u0007"+
52701 "\u0089\u0002\u008a\u0007\u008a\u0002\u008b\u0007\u008b\u0002\u008c\u0007"+
52702 "\u008c\u0002\u008d\u0007\u008d\u0002\u008e\u0007\u008e\u0002\u008f\u0007"+
52703 "\u008f\u0002\u0090\u0007\u0090\u0002\u0091\u0007\u0091\u0002\u0092\u0007"+
52704 "\u0092\u0002\u0093\u0007\u0093\u0002\u0094\u0007\u0094\u0002\u0095\u0007"+
52705 "\u0095\u0002\u0096\u0007\u0096\u0002\u0097\u0007\u0097\u0002\u0098\u0007"+
52706 "\u0098\u0002\u0099\u0007\u0099\u0002\u009a\u0007\u009a\u0002\u009b\u0007"+
52707 "\u009b\u0002\u009c\u0007\u009c\u0002\u009d\u0007\u009d\u0002\u009e\u0007"+
52708 "\u009e\u0002\u009f\u0007\u009f\u0002\u00a0\u0007\u00a0\u0002\u00a1\u0007"+
52709 "\u00a1\u0002\u00a2\u0007\u00a2\u0002\u00a3\u0007\u00a3\u0002\u00a4\u0007"+
52710 "\u00a4\u0002\u00a5\u0007\u00a5\u0002\u00a6\u0007\u00a6\u0002\u00a7\u0007"+
52711 "\u00a7\u0002\u00a8\u0007\u00a8\u0002\u00a9\u0007\u00a9\u0002\u00aa\u0007"+
52712 "\u00aa\u0002\u00ab\u0007\u00ab\u0002\u00ac\u0007\u00ac\u0002\u00ad\u0007"+
52713 "\u00ad\u0002\u00ae\u0007\u00ae\u0002\u00af\u0007\u00af\u0002\u00b0\u0007"+
52714 "\u00b0\u0002\u00b1\u0007\u00b1\u0002\u00b2\u0007\u00b2\u0002\u00b3\u0007"+
52715 "\u00b3\u0002\u00b4\u0007\u00b4\u0002\u00b5\u0007\u00b5\u0002\u00b6\u0007"+
52716 "\u00b6\u0002\u00b7\u0007\u00b7\u0002\u00b8\u0007\u00b8\u0002\u00b9\u0007"+
52717 "\u00b9\u0002\u00ba\u0007\u00ba\u0002\u00bb\u0007\u00bb\u0002\u00bc\u0007"+
52718 "\u00bc\u0002\u00bd\u0007\u00bd\u0002\u00be\u0007\u00be\u0002\u00bf\u0007"+
52719 "\u00bf\u0002\u00c0\u0007\u00c0\u0002\u00c1\u0007\u00c1\u0002\u00c2\u0007"+
52720 "\u00c2\u0002\u00c3\u0007\u00c3\u0002\u00c4\u0007\u00c4\u0002\u00c5\u0007"+
52721 "\u00c5\u0002\u00c6\u0007\u00c6\u0002\u00c7\u0007\u00c7\u0002\u00c8\u0007"+
52722 "\u00c8\u0002\u00c9\u0007\u00c9\u0002\u00ca\u0007\u00ca\u0002\u00cb\u0007"+
52723 "\u00cb\u0002\u00cc\u0007\u00cc\u0002\u00cd\u0007\u00cd\u0002\u00ce\u0007"+
52724 "\u00ce\u0002\u00cf\u0007\u00cf\u0002\u00d0\u0007\u00d0\u0002\u00d1\u0007"+
52725 "\u00d1\u0002\u00d2\u0007\u00d2\u0002\u00d3\u0007\u00d3\u0002\u00d4\u0007"+
52726 "\u00d4\u0002\u00d5\u0007\u00d5\u0002\u00d6\u0007\u00d6\u0002\u00d7\u0007"+
52727 "\u00d7\u0002\u00d8\u0007\u00d8\u0002\u00d9\u0007\u00d9\u0002\u00da\u0007"+
52728 "\u00da\u0002\u00db\u0007\u00db\u0002\u00dc\u0007\u00dc\u0002\u00dd\u0007"+
52729 "\u00dd\u0002\u00de\u0007\u00de\u0002\u00df\u0007\u00df\u0002\u00e0\u0007"+
52730 "\u00e0\u0002\u00e1\u0007\u00e1\u0002\u00e2\u0007\u00e2\u0002\u00e3\u0007"+
52731 "\u00e3\u0002\u00e4\u0007\u00e4\u0002\u00e5\u0007\u00e5\u0002\u00e6\u0007"+
52732 "\u00e6\u0002\u00e7\u0007\u00e7\u0002\u00e8\u0007\u00e8\u0002\u00e9\u0007"+
52733 "\u00e9\u0002\u00ea\u0007\u00ea\u0002\u00eb\u0007\u00eb\u0002\u00ec\u0007"+
52734 "\u00ec\u0002\u00ed\u0007\u00ed\u0002\u00ee\u0007\u00ee\u0002\u00ef\u0007"+
52735 "\u00ef\u0002\u00f0\u0007\u00f0\u0002\u00f1\u0007\u00f1\u0002\u00f2\u0007"+
52736 "\u00f2\u0002\u00f3\u0007\u00f3\u0002\u00f4\u0007\u00f4\u0002\u00f5\u0007"+
52737 "\u00f5\u0002\u00f6\u0007\u00f6\u0002\u00f7\u0007\u00f7\u0002\u00f8\u0007"+
52738 "\u00f8\u0002\u00f9\u0007\u00f9\u0002\u00fa\u0007\u00fa\u0002\u00fb\u0007"+
52739 "\u00fb\u0002\u00fc\u0007\u00fc\u0002\u00fd\u0007\u00fd\u0002\u00fe\u0007"+
52740 "\u00fe\u0002\u00ff\u0007\u00ff\u0002\u0100\u0007\u0100\u0002\u0101\u0007"+
52741 "\u0101\u0002\u0102\u0007\u0102\u0002\u0103\u0007\u0103\u0002\u0104\u0007"+
52742 "\u0104\u0002\u0105\u0007\u0105\u0002\u0106\u0007\u0106\u0002\u0107\u0007"+
52743 "\u0107\u0002\u0108\u0007\u0108\u0002\u0109\u0007\u0109\u0002\u010a\u0007"+
52744 "\u010a\u0002\u010b\u0007\u010b\u0002\u010c\u0007\u010c\u0002\u010d\u0007"+
52745 "\u010d\u0002\u010e\u0007\u010e\u0002\u010f\u0007\u010f\u0002\u0110\u0007"+
52746 "\u0110\u0002\u0111\u0007\u0111\u0002\u0112\u0007\u0112\u0002\u0113\u0007"+
52747 "\u0113\u0002\u0114\u0007\u0114\u0002\u0115\u0007\u0115\u0002\u0116\u0007"+
52748 "\u0116\u0002\u0117\u0007\u0117\u0002\u0118\u0007\u0118\u0002\u0119\u0007"+
52749 "\u0119\u0002\u011a\u0007\u011a\u0002\u011b\u0007\u011b\u0002\u011c\u0007"+
52750 "\u011c\u0002\u011d\u0007\u011d\u0002\u011e\u0007\u011e\u0002\u011f\u0007"+
52751 "\u011f\u0002\u0120\u0007\u0120\u0002\u0121\u0007\u0121\u0002\u0122\u0007"+
52752 "\u0122\u0002\u0123\u0007\u0123\u0002\u0124\u0007\u0124\u0002\u0125\u0007"+
52753 "\u0125\u0002\u0126\u0007\u0126\u0002\u0127\u0007\u0127\u0002\u0128\u0007"+
52754 "\u0128\u0002\u0129\u0007\u0129\u0002\u012a\u0007\u012a\u0002\u012b\u0007"+
52755 "\u012b\u0002\u012c\u0007\u012c\u0002\u012d\u0007\u012d\u0002\u012e\u0007"+
52756 "\u012e\u0002\u012f\u0007\u012f\u0002\u0130\u0007\u0130\u0002\u0131\u0007"+
52757 "\u0131\u0002\u0132\u0007\u0132\u0002\u0133\u0007\u0133\u0002\u0134\u0007"+
52758 "\u0134\u0002\u0135\u0007\u0135\u0002\u0136\u0007\u0136\u0002\u0137\u0007"+
52759 "\u0137\u0002\u0138\u0007\u0138\u0002\u0139\u0007\u0139\u0002\u013a\u0007"+
52760 "\u013a\u0002\u013b\u0007\u013b\u0002\u013c\u0007\u013c\u0002\u013d\u0007"+
52761 "\u013d\u0002\u013e\u0007\u013e\u0002\u013f\u0007\u013f\u0002\u0140\u0007"+
52762 "\u0140\u0002\u0141\u0007\u0141\u0002\u0142\u0007\u0142\u0002\u0143\u0007"+
52763 "\u0143\u0002\u0144\u0007\u0144\u0002\u0145\u0007\u0145\u0002\u0146\u0007"+
52764 "\u0146\u0002\u0147\u0007\u0147\u0002\u0148\u0007\u0148\u0002\u0149\u0007"+
52765 "\u0149\u0002\u014a\u0007\u014a\u0002\u014b\u0007\u014b\u0002\u014c\u0007"+
52766 "\u014c\u0002\u014d\u0007\u014d\u0002\u014e\u0007\u014e\u0002\u014f\u0007"+
52767 "\u014f\u0002\u0150\u0007\u0150\u0002\u0151\u0007\u0151\u0002\u0152\u0007"+
52768 "\u0152\u0002\u0153\u0007\u0153\u0002\u0154\u0007\u0154\u0002\u0155\u0007"+
52769 "\u0155\u0002\u0156\u0007\u0156\u0002\u0157\u0007\u0157\u0002\u0158\u0007"+
52770 "\u0158\u0002\u0159\u0007\u0159\u0002\u015a\u0007\u015a\u0002\u015b\u0007"+
52771 "\u015b\u0002\u015c\u0007\u015c\u0002\u015d\u0007\u015d\u0002\u015e\u0007"+
52772 "\u015e\u0002\u015f\u0007\u015f\u0002\u0160\u0007\u0160\u0002\u0161\u0007"+
52773 "\u0161\u0002\u0162\u0007\u0162\u0002\u0163\u0007\u0163\u0002\u0164\u0007"+
52774 "\u0164\u0002\u0165\u0007\u0165\u0002\u0166\u0007\u0166\u0002\u0167\u0007"+
52775 "\u0167\u0002\u0168\u0007\u0168\u0002\u0169\u0007\u0169\u0002\u016a\u0007"+
52776 "\u016a\u0002\u016b\u0007\u016b\u0002\u016c\u0007\u016c\u0002\u016d\u0007"+
52777 "\u016d\u0002\u016e\u0007\u016e\u0002\u016f\u0007\u016f\u0002\u0170\u0007"+
52778 "\u0170\u0002\u0171\u0007\u0171\u0002\u0172\u0007\u0172\u0002\u0173\u0007"+
52779 "\u0173\u0002\u0174\u0007\u0174\u0002\u0175\u0007\u0175\u0002\u0176\u0007"+
52780 "\u0176\u0002\u0177\u0007\u0177\u0002\u0178\u0007\u0178\u0002\u0179\u0007"+
52781 "\u0179\u0002\u017a\u0007\u017a\u0002\u017b\u0007\u017b\u0002\u017c\u0007"+
52782 "\u017c\u0002\u017d\u0007\u017d\u0002\u017e\u0007\u017e\u0002\u017f\u0007"+
52783 "\u017f\u0002\u0180\u0007\u0180\u0002\u0181\u0007\u0181\u0002\u0182\u0007"+
52784 "\u0182\u0002\u0183\u0007\u0183\u0002\u0184\u0007\u0184\u0002\u0185\u0007"+
52785 "\u0185\u0002\u0186\u0007\u0186\u0002\u0187\u0007\u0187\u0002\u0188\u0007"+
52786 "\u0188\u0002\u0189\u0007\u0189\u0002\u018a\u0007\u018a\u0002\u018b\u0007"+
52787 "\u018b\u0002\u018c\u0007\u018c\u0002\u018d\u0007\u018d\u0002\u018e\u0007"+
52788 "\u018e\u0002\u018f\u0007\u018f\u0002\u0190\u0007\u0190\u0002\u0191\u0007"+
52789 "\u0191\u0002\u0192\u0007\u0192\u0002\u0193\u0007\u0193\u0002\u0194\u0007"+
52790 "\u0194\u0002\u0195\u0007\u0195\u0002\u0196\u0007\u0196\u0002\u0197\u0007"+
52791 "\u0197\u0002\u0198\u0007\u0198\u0002\u0199\u0007\u0199\u0002\u019a\u0007"+
52792 "\u019a\u0002\u019b\u0007\u019b\u0002\u019c\u0007\u019c\u0002\u019d\u0007"+
52793 "\u019d\u0002\u019e\u0007\u019e\u0002\u019f\u0007\u019f\u0002\u01a0\u0007"+
52794 "\u01a0\u0002\u01a1\u0007\u01a1\u0002\u01a2\u0007\u01a2\u0002\u01a3\u0007"+
52795 "\u01a3\u0002\u01a4\u0007\u01a4\u0002\u01a5\u0007\u01a5\u0002\u01a6\u0007"+
52796 "\u01a6\u0002\u01a7\u0007\u01a7\u0002\u01a8\u0007\u01a8\u0002\u01a9\u0007"+
52797 "\u01a9\u0002\u01aa\u0007\u01aa\u0002\u01ab\u0007\u01ab\u0002\u01ac\u0007"+
52798 "\u01ac\u0002\u01ad\u0007\u01ad\u0002\u01ae\u0007\u01ae\u0002\u01af\u0007"+
52799 "\u01af\u0002\u01b0\u0007\u01b0\u0002\u01b1\u0007\u01b1\u0002\u01b2\u0007"+
52800 "\u01b2\u0002\u01b3\u0007\u01b3\u0002\u01b4\u0007\u01b4\u0002\u01b5\u0007"+
52801 "\u01b5\u0002\u01b6\u0007\u01b6\u0002\u01b7\u0007\u01b7\u0002\u01b8\u0007"+
52802 "\u01b8\u0002\u01b9\u0007\u01b9\u0002\u01ba\u0007\u01ba\u0002\u01bb\u0007"+
52803 "\u01bb\u0002\u01bc\u0007\u01bc\u0002\u01bd\u0007\u01bd\u0002\u01be\u0007"+
52804 "\u01be\u0002\u01bf\u0007\u01bf\u0002\u01c0\u0007\u01c0\u0002\u01c1\u0007"+
52805 "\u01c1\u0002\u01c2\u0007\u01c2\u0002\u01c3\u0007\u01c3\u0002\u01c4\u0007"+
52806 "\u01c4\u0002\u01c5\u0007\u01c5\u0002\u01c6\u0007\u01c6\u0002\u01c7\u0007"+
52807 "\u01c7\u0002\u01c8\u0007\u01c8\u0002\u01c9\u0007\u01c9\u0002\u01ca\u0007"+
52808 "\u01ca\u0002\u01cb\u0007\u01cb\u0002\u01cc\u0007\u01cc\u0002\u01cd\u0007"+
52809 "\u01cd\u0002\u01ce\u0007\u01ce\u0002\u01cf\u0007\u01cf\u0002\u01d0\u0007"+
52810 "\u01d0\u0002\u01d1\u0007\u01d1\u0002\u01d2\u0007\u01d2\u0002\u01d3\u0007"+
52811 "\u01d3\u0002\u01d4\u0007\u01d4\u0002\u01d5\u0007\u01d5\u0002\u01d6\u0007"+
52812 "\u01d6\u0002\u01d7\u0007\u01d7\u0002\u01d8\u0007\u01d8\u0002\u01d9\u0007"+
52813 "\u01d9\u0002\u01da\u0007\u01da\u0002\u01db\u0007\u01db\u0002\u01dc\u0007"+
52814 "\u01dc\u0002\u01dd\u0007\u01dd\u0002\u01de\u0007\u01de\u0002\u01df\u0007"+
52815 "\u01df\u0002\u01e0\u0007\u01e0\u0002\u01e1\u0007\u01e1\u0002\u01e2\u0007"+
52816 "\u01e2\u0002\u01e3\u0007\u01e3\u0002\u01e4\u0007\u01e4\u0002\u01e5\u0007"+
52817 "\u01e5\u0002\u01e6\u0007\u01e6\u0002\u01e7\u0007\u01e7\u0002\u01e8\u0007"+
52818 "\u01e8\u0002\u01e9\u0007\u01e9\u0002\u01ea\u0007\u01ea\u0002\u01eb\u0007"+
52819 "\u01eb\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52820 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52821 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52822 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52823 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52824 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52825 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52826 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52827 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
52828 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0003"+
52829 "\u0000\u0414\b\u0000\u0001\u0000\u0003\u0000\u0417\b\u0000\u0001\u0001"+
52830 "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002"+
52831 "\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002"+
52832 "\u0001\u0002\u0003\u0002\u0427\b\u0002\u0001\u0003\u0001\u0003\u0001\u0003"+
52833 "\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005\u0001\u0005"+
52834 "\u0001\u0005\u0003\u0005\u0433\b\u0005\u0001\u0005\u0001\u0005\u0001\u0005"+
52835 "\u0001\u0005\u0003\u0005\u0439\b\u0005\u0003\u0005\u043b\b\u0005\u0003"+
52836 "\u0005\u043d\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001"+
52837 "\u0006\u0003\u0006\u0444\b\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
52838 "\u0007\u0003\u0007\u044a\b\u0007\u0003\u0007\u044c\b\u0007\u0001\u0007"+
52839 "\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0003\u0007"+
52840 "\u0454\b\u0007\u0001\b\u0001\b\u0003\b\u0458\b\b\u0001\t\u0001\t\u0001"+
52841 "\t\u0001\t\u0001\t\u0001\t\u0003\t\u0460\b\t\u0001\n\u0001\n\u0003\n\u0464"+
52842 "\b\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0003\u000b\u046a"+
52843 "\b\u000b\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+
52844 "\r\u0001\r\u0003\r\u0475\b\r\u0001\u000e\u0001\u000e\u0001\u000f\u0003"+
52845 "\u000f\u047a\b\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001"+
52846 "\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010\u0485"+
52847 "\b\u0010\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0013\u0001"+
52848 "\u0013\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0003\u0015\u0491"+
52849 "\b\u0015\u0001\u0016\u0001\u0016\u0003\u0016\u0495\b\u0016\u0001\u0017"+
52850 "\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u001a"+
52851 "\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u04a2\b\u001b"+
52852 "\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0003\u001c"+
52853 "\u04a9\b\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0003\u001c\u04ae\b"+
52854 "\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0003\u001d\u04b3\b\u001d\u0001"+
52855 "\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0003\u001e\u04ba"+
52856 "\b\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0003"+
52857 "\u001f\u04c1\b\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001 \u0001"+
52858 " \u0001 \u0003 \u04ca\b \u0001 \u0001 \u0001 \u0003 \u04cf\b \u0003 \u04d1"+
52859 "\b \u0001 \u0001 \u0001!\u0001!\u0001!\u0003!\u04d8\b!\u0001!\u0001!\u0001"+
52860 "\"\u0001\"\u0001#\u0001#\u0001$\u0001$\u0001$\u0003$\u04e3\b$\u0001$\u0001"+
52861 "$\u0003$\u04e7\b$\u0001%\u0001%\u0001%\u0001%\u0001%\u0001&\u0001&\u0001"+
52862 "\'\u0001\'\u0001(\u0001(\u0001(\u0001(\u0005(\u04f6\b(\n(\f(\u04f9\t("+
52863 "\u0001(\u0001(\u0001)\u0001)\u0001)\u0001)\u0005)\u0501\b)\n)\f)\u0504"+
52864 "\t)\u0001)\u0001)\u0001*\u0003*\u0509\b*\u0001*\u0001*\u0001*\u0005*\u050e"+
52865 "\b*\n*\f*\u0511\t*\u0001*\u0003*\u0514\b*\u0001+\u0001+\u0001,\u0001,"+
52866 "\u0001-\u0001-\u0001.\u0001.\u0003.\u051e\b.\u0001/\u0001/\u0001/\u0001"+
52867 "/\u0003/\u0524\b/\u0003/\u0526\b/\u0001/\u0001/\u00010\u00030\u052b\b"+
52868 "0\u00010\u00010\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u0001"+
52869 "1\u00011\u00031\u0538\b1\u00011\u00011\u00011\u00011\u00011\u00011\u0001"+
52870 "1\u00011\u00011\u00011\u00011\u00011\u00051\u0546\b1\n1\f1\u0549\t1\u0001"+
52871 "2\u00012\u00013\u00013\u00014\u00014\u00034\u0551\b4\u00014\u00014\u0001"+
52872 "4\u00015\u00015\u00016\u00016\u00016\u00016\u00016\u00016\u00036\u055e"+
52873 "\b6\u00016\u00016\u00016\u00016\u00016\u00016\u00016\u00016\u00016\u0001"+
52874 "6\u00016\u00016\u00016\u00056\u056d\b6\n6\f6\u0570\t6\u00017\u00017\u0001"+
52875 "8\u00018\u00038\u0576\b8\u00018\u00018\u00018\u00018\u00018\u00038\u057d"+
52876 "\b8\u00018\u00018\u00018\u00018\u00018\u00058\u0584\b8\n8\f8\u0587\t8"+
52877 "\u00018\u00018\u00018\u00018\u00038\u058d\b8\u00018\u00018\u00018\u0001"+
52878 "8\u00018\u00018\u00018\u00038\u0596\b8\u00018\u00018\u00018\u00018\u0003"+
52879 "8\u059c\b8\u00018\u00038\u059f\b8\u00019\u00019\u00019\u00019\u00019\u0001"+
52880 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
52881 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
52882 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00059\u05c2\b9\n9"+
52883 "\f9\u05c5\t9\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0001"+
52884 ":\u0003:\u05d0\b:\u0001:\u0001:\u0001:\u0001:\u0005:\u05d6\b:\n:\f:\u05d9"+
52885 "\t:\u0001:\u0001:\u0001:\u0003:\u05de\b:\u0001:\u0001:\u0001:\u0001:\u0001"+
52886 ":\u0001:\u0001:\u0001:\u0003:\u05e8\b:\u0001:\u0001:\u0001:\u0005:\u05ed"+
52887 "\b:\n:\f:\u05f0\t:\u0001;\u0001;\u0001;\u0003;\u05f5\b;\u0001<\u0001<"+
52888 "\u0001<\u0003<\u05fa\b<\u0001<\u0001<\u0001<\u0005<\u05ff\b<\n<\f<\u0602"+
52889 "\t<\u0001<\u0003<\u0605\b<\u0001<\u0001<\u0001=\u0001=\u0001>\u0001>\u0001"+
52890 "?\u0001?\u0001?\u0001?\u0001?\u0003?\u0612\b?\u0001@\u0001@\u0001@\u0001"+
52891 "@\u0001@\u0001@\u0001@\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001"+
52892 "A\u0003A\u0622\bA\u0001A\u0001A\u0001B\u0001B\u0001B\u0001B\u0001B\u0005"+
52893 "B\u062b\bB\nB\fB\u062e\tB\u0001B\u0001B\u0003B\u0632\bB\u0001B\u0001B"+
52894 "\u0001C\u0001C\u0001C\u0001C\u0001C\u0003C\u063b\bC\u0001C\u0001C\u0003"+
52895 "C\u063f\bC\u0001D\u0001D\u0001D\u0001D\u0001D\u0005D\u0646\bD\nD\fD\u0649"+
52896 "\tD\u0001D\u0001D\u0001E\u0001E\u0001E\u0003E\u0650\bE\u0001E\u0001E\u0003"+
52897 "E\u0654\bE\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001"+
52898 "F\u0001F\u0001F\u0003F\u0661\bF\u0001F\u0001F\u0001F\u0003F\u0666\bF\u0001"+
52899 "F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0005F\u0670\bF\nF"+
52900 "\fF\u0673\tF\u0001F\u0001F\u0003F\u0677\bF\u0001G\u0001G\u0001G\u0001"+
52901 "G\u0001G\u0005G\u067e\bG\nG\fG\u0681\tG\u0001G\u0003G\u0684\bG\u0001G"+
52902 "\u0001G\u0001H\u0001H\u0001H\u0003H\u068b\bH\u0001H\u0001H\u0001H\u0001"+
52903 "H\u0001H\u0003H\u0692\bH\u0001I\u0001I\u0003I\u0696\bI\u0001I\u0004I\u0699"+
52904 "\bI\u000bI\fI\u069a\u0001I\u0003I\u069e\bI\u0001I\u0001I\u0001J\u0001"+
52905 "J\u0001J\u0001J\u0001J\u0001K\u0001K\u0001K\u0001L\u0001L\u0001L\u0001"+
52906 "L\u0003L\u06ae\bL\u0001M\u0001M\u0001M\u0001M\u0001M\u0005M\u06b5\bM\n"+
52907 "M\fM\u06b8\tM\u0001M\u0001M\u0001M\u0001M\u0001M\u0001M\u0001M\u0001M"+
52908 "\u0001M\u0003M\u06c3\bM\u0003M\u06c5\bM\u0001N\u0001N\u0001N\u0003N\u06ca"+
52909 "\bN\u0001N\u0001N\u0003N\u06ce\bN\u0001N\u0003N\u06d1\bN\u0001O\u0001"+
52910 "O\u0001O\u0003O\u06d6\bO\u0001O\u0001O\u0001O\u0001O\u0001O\u0001O\u0001"+
52911 "O\u0003O\u06df\bO\u0001O\u0001O\u0001O\u0003O\u06e4\bO\u0001P\u0001P\u0001"+
52912 "Q\u0001Q\u0001Q\u0001Q\u0003Q\u06ec\bQ\u0001Q\u0001Q\u0001R\u0001R\u0001"+
52913 "R\u0001R\u0001R\u0001R\u0001R\u0001R\u0003R\u06f8\bR\u0001R\u0001R\u0001"+
52914 "S\u0001S\u0001S\u0001S\u0001S\u0003S\u0701\bS\u0001S\u0001S\u0001S\u0001"+
52915 "S\u0003S\u0707\bS\u0001T\u0001T\u0001T\u0001U\u0001U\u0001U\u0003U\u070f"+
52916 "\bU\u0001U\u0003U\u0712\bU\u0001U\u0003U\u0715\bU\u0001U\u0001U\u0001"+
52917 "V\u0001V\u0001V\u0001V\u0001V\u0005V\u071e\bV\nV\fV\u0721\tV\u0001W\u0001"+
52918 "W\u0001W\u0001X\u0001X\u0003X\u0728\bX\u0001Y\u0001Y\u0001Y\u0001Y\u0001"+
52919 "Y\u0001Z\u0001Z\u0003Z\u0731\bZ\u0001[\u0001[\u0001[\u0001[\u0001[\u0001"+
52920 "[\u0003[\u0739\b[\u0001\\\u0001\\\u0001\\\u0001\\\u0001\\\u0001\\\u0003"+
52921 "\\\u0741\b\\\u0001]\u0001]\u0003]\u0745\b]\u0001^\u0001^\u0001^\u0001"+
52922 "^\u0001^\u0001^\u0001^\u0001^\u0001^\u0001^\u0001^\u0003^\u0752\b^\u0003"+
52923 "^\u0754\b^\u0001_\u0001_\u0001_\u0001_\u0001`\u0001`\u0001`\u0003`\u075d"+
52924 "\b`\u0001a\u0001a\u0001a\u0001b\u0001b\u0001c\u0001c\u0001c\u0001d\u0001"+
52925 "d\u0001d\u0001d\u0001d\u0001d\u0001e\u0001e\u0001e\u0005e\u0770\be\ne"+
52926 "\fe\u0773\te\u0001f\u0001f\u0003f\u0777\bf\u0001g\u0001g\u0001g\u0001"+
52927 "g\u0001h\u0001h\u0001h\u0001h\u0001h\u0001h\u0003h\u0783\bh\u0001h\u0001"+
52928 "h\u0001h\u0001h\u0001h\u0001h\u0001i\u0001i\u0001i\u0001i\u0001i\u0003"+
52929 "i\u0790\bi\u0001j\u0001j\u0001k\u0001k\u0001k\u0005k\u0797\bk\nk\fk\u079a"+
52930 "\tk\u0001l\u0001l\u0001m\u0001m\u0001n\u0001n\u0001n\u0001n\u0001n\u0001"+
52931 "n\u0003n\u07a6\bn\u0001o\u0001o\u0001p\u0001p\u0001q\u0001q\u0001r\u0001"+
52932 "r\u0001s\u0001s\u0001t\u0001t\u0001t\u0001u\u0001u\u0001v\u0001v\u0001"+
52933 "w\u0001w\u0003w\u07bb\bw\u0001w\u0001w\u0001x\u0001x\u0001x\u0001x\u0001"+
52934 "x\u0003x\u07c4\bx\u0001y\u0001y\u0003y\u07c8\by\u0001z\u0001z\u0001z\u0001"+
52935 "z\u0001z\u0001z\u0001{\u0001{\u0001{\u0001{\u0001{\u0001{\u0001{\u0001"+
52936 "{\u0001{\u0001|\u0001|\u0001|\u0001|\u0001|\u0001}\u0001}\u0001}\u0003"+
52937 "}\u07e1\b}\u0001}\u0001}\u0001}\u0001}\u0001}\u0001~\u0001~\u0001~\u0003"+
52938 "~\u07eb\b~\u0001~\u0001~\u0001~\u0001~\u0001~\u0001\u007f\u0001\u007f"+
52939 "\u0001\u007f\u0003\u007f\u07f5\b\u007f\u0001\u007f\u0001\u007f\u0001\u007f"+
52940 "\u0001\u007f\u0001\u0080\u0001\u0080\u0001\u0080\u0003\u0080\u07fe\b\u0080"+
52941 "\u0001\u0080\u0001\u0080\u0001\u0080\u0001\u0080\u0001\u0080\u0001\u0080"+
52942 "\u0001\u0081\u0001\u0081\u0001\u0081\u0001\u0081\u0005\u0081\u080a\b\u0081"+
52943 "\n\u0081\f\u0081\u080d\t\u0081\u0001\u0082\u0001\u0082\u0001\u0082\u0001"+
52944 "\u0082\u0001\u0082\u0003\u0082\u0814\b\u0082\u0001\u0082\u0001\u0082\u0001"+
52945 "\u0082\u0001\u0082\u0003\u0082\u081a\b\u0082\u0001\u0083\u0001\u0083\u0001"+
52946 "\u0083\u0001\u0083\u0005\u0083\u0820\b\u0083\n\u0083\f\u0083\u0823\t\u0083"+
52947 "\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084"+
52948 "\u0005\u0084\u082b\b\u0084\n\u0084\f\u0084\u082e\t\u0084\u0001\u0085\u0001"+
52949 "\u0085\u0001\u0085\u0001\u0085\u0003\u0085\u0834\b\u0085\u0001\u0085\u0001"+
52950 "\u0085\u0001\u0085\u0001\u0085\u0001\u0086\u0001\u0086\u0001\u0086\u0001"+
52951 "\u0086\u0003\u0086\u083e\b\u0086\u0001\u0086\u0005\u0086\u0841\b\u0086"+
52952 "\n\u0086\f\u0086\u0844\t\u0086\u0001\u0087\u0001\u0087\u0001\u0087\u0001"+
52953 "\u0087\u0001\u0087\u0001\u0087\u0001\u0088\u0001\u0088\u0001\u0088\u0001"+
52954 "\u0088\u0001\u0088\u0001\u0088\u0001\u0089\u0001\u0089\u0001\u0089\u0001"+
52955 "\u0089\u0001\u0089\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001"+
52956 "\u008a\u0001\u008a\u0001\u008a\u0001\u008b\u0001\u008b\u0001\u008b\u0001"+
52957 "\u008b\u0005\u008b\u0862\b\u008b\n\u008b\f\u008b\u0865\t\u008b\u0001\u008c"+
52958 "\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0003\u008c"+
52959 "\u086d\b\u008c\u0001\u008c\u0003\u008c\u0870\b\u008c\u0001\u008d\u0001"+
52960 "\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0877\b\u008d\u0001"+
52961 "\u008d\u0001\u008d\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u087e"+
52962 "\b\u008e\u0001\u008e\u0001\u008e\u0001\u008f\u0001\u008f\u0001\u008f\u0003"+
52963 "\u008f\u0885\b\u008f\u0001\u008f\u0001\u008f\u0001\u008f\u0001\u008f\u0001"+
52964 "\u0090\u0001\u0090\u0001\u0090\u0003\u0090\u088e\b\u0090\u0001\u0090\u0001"+
52965 "\u0090\u0001\u0090\u0005\u0090\u0893\b\u0090\n\u0090\f\u0090\u0896\t\u0090"+
52966 "\u0001\u0091\u0001\u0091\u0001\u0091\u0003\u0091\u089b\b\u0091\u0001\u0091"+
52967 "\u0001\u0091\u0001\u0091\u0005\u0091\u08a0\b\u0091\n\u0091\f\u0091\u08a3"+
52968 "\t\u0091\u0001\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u08a8\b\u0092"+
52969 "\u0001\u0092\u0001\u0092\u0001\u0092\u0005\u0092\u08ad\b\u0092\n\u0092"+
52970 "\f\u0092\u08b0\t\u0092\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093"+
52971 "\u08b5\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0005\u0093\u08ba\b"+
52972 "\u0093\n\u0093\f\u0093\u08bd\t\u0093\u0001\u0094\u0001\u0094\u0001\u0094"+
52973 "\u0003\u0094\u08c2\b\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0005\u0094"+
52974 "\u08c7\b\u0094\n\u0094\f\u0094\u08ca\t\u0094\u0001\u0094\u0001\u0094\u0001"+
52975 "\u0094\u0001\u0094\u0003\u0094\u08d0\b\u0094\u0003\u0094\u08d2\b\u0094"+
52976 "\u0001\u0095\u0001\u0095\u0001\u0095\u0003\u0095\u08d7\b\u0095\u0001\u0095"+
52977 "\u0001\u0095\u0001\u0095\u0005\u0095\u08dc\b\u0095\n\u0095\f\u0095\u08df"+
52978 "\t\u0095\u0001\u0096\u0001\u0096\u0001\u0096\u0001\u0096\u0001\u0097\u0001"+
52979 "\u0097\u0001\u0097\u0003\u0097\u08e8\b\u0097\u0001\u0097\u0001\u0097\u0001"+
52980 "\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0099\u0001\u0099\u0001"+
52981 "\u0099\u0001\u0099\u0003\u0099\u08f4\b\u0099\u0001\u0099\u0001\u0099\u0001"+
52982 "\u0099\u0005\u0099\u08f9\b\u0099\n\u0099\f\u0099\u08fc\t\u0099\u0001\u0099"+
52983 "\u0003\u0099\u08ff\b\u0099\u0003\u0099\u0901\b\u0099\u0001\u0099\u0003"+
52984 "\u0099\u0904\b\u0099\u0001\u009a\u0001\u009a\u0003\u009a\u0908\b\u009a"+
52985 "\u0001\u009a\u0003\u009a\u090b\b\u009a\u0001\u009b\u0001\u009b\u0001\u009b"+
52986 "\u0001\u009b\u0003\u009b\u0911\b\u009b\u0001\u009b\u0001\u009b\u0001\u009b"+
52987 "\u0003\u009b\u0916\b\u009b\u0001\u009b\u0001\u009b\u0001\u009b\u0001\u009b"+
52988 "\u0001\u009b\u0001\u009b\u0001\u009b\u0005\u009b\u091f\b\u009b\n\u009b"+
52989 "\f\u009b\u0922\t\u009b\u0001\u009b\u0003\u009b\u0925\b\u009b\u0003\u009b"+
52990 "\u0927\b\u009b\u0001\u009c\u0003\u009c\u092a\b\u009c\u0001\u009c\u0004"+
52991 "\u009c\u092d\b\u009c\u000b\u009c\f\u009c\u092e\u0001\u009d\u0001\u009d"+
52992 "\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d"+
52993 "\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0003\u009d"+
52994 "\u093e\b\u009d\u0001\u009e\u0001\u009e\u0003\u009e\u0942\b\u009e\u0001"+
52995 "\u009f\u0001\u009f\u0001\u009f\u0001\u009f\u0001\u00a0\u0001\u00a0\u0001"+
52996 "\u00a0\u0001\u00a0\u0005\u00a0\u094c\b\u00a0\n\u00a0\f\u00a0\u094f\t\u00a0"+
52997 "\u0001\u00a0\u0001\u00a0\u0003\u00a0\u0953\b\u00a0\u0001\u00a0\u0001\u00a0"+
52998 "\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0003\u00a1"+
52999 "\u095c\b\u00a1\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0005\u00a2\u0961\b"+
53000 "\u00a2\n\u00a2\f\u00a2\u0964\t\u00a2\u0001\u00a2\u0001\u00a2\u0003\u00a2"+
53001 "\u0968\b\u00a2\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3"+
53002 "\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3"+
53003 "\u0001\u00a3\u0001\u00a3\u0003\u00a3\u0977\b\u00a3\u0001\u00a3\u0001\u00a3"+
53004 "\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3"+
53005 "\u0003\u00a3\u0981\b\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3"+
53006 "\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0003\u00a3"+
53007 "\u098c\b\u00a3\u0001\u00a3\u0003\u00a3\u098f\b\u00a3\u0001\u00a3\u0001"+
53008 "\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001"+
53009 "\u00a3\u0005\u00a3\u0999\b\u00a3\n\u00a3\f\u00a3\u099c\t\u00a3\u0001\u00a3"+
53010 "\u0003\u00a3\u099f\b\u00a3\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4"+
53011 "\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4"+
53012 "\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a5\u0001\u00a5"+
53013 "\u0003\u00a5\u09b1\b\u00a5\u0001\u00a5\u0001\u00a5\u0001\u00a5\u0003\u00a5"+
53014 "\u09b6\b\u00a5\u0001\u00a6\u0001\u00a6\u0003\u00a6\u09ba\b\u00a6\u0001"+
53015 "\u00a6\u0001\u00a6\u0001\u00a6\u0003\u00a6\u09bf\b\u00a6\u0001\u00a7\u0001"+
53016 "\u00a7\u0003\u00a7\u09c3\b\u00a7\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0001"+
53017 "\u00a7\u0001\u00a7\u0003\u00a7\u09ca\b\u00a7\u0001\u00a7\u0005\u00a7\u09cd"+
53018 "\b\u00a7\n\u00a7\f\u00a7\u09d0\t\u00a7\u0001\u00a8\u0001\u00a8\u0001\u00a8"+
53019 "\u0001\u00a8\u0001\u00a8\u0003\u00a8\u09d7\b\u00a8\u0001\u00a8\u0001\u00a8"+
53020 "\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0003\u00a8"+
53021 "\u09e0\b\u00a8\u0001\u00a9\u0001\u00a9\u0003\u00a9\u09e4\b\u00a9\u0001"+
53022 "\u00a9\u0001\u00a9\u0003\u00a9\u09e8\b\u00a9\u0001\u00aa\u0003\u00aa\u09eb"+
53023 "\b\u00aa\u0001\u00aa\u0003\u00aa\u09ee\b\u00aa\u0001\u00aa\u0003\u00aa"+
53024 "\u09f1\b\u00aa\u0001\u00ab\u0001\u00ab\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
53025 "\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0005\u00ac"+
53026 "\u09fd\b\u00ac\n\u00ac\f\u00ac\u0a00\t\u00ac\u0001\u00ac\u0001\u00ac\u0003"+
53027 "\u00ac\u0a04\b\u00ac\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0003\u00ad\u0a09"+
53028 "\b\u00ad\u0001\u00ae\u0001\u00ae\u0001\u00ae\u0001\u00ae\u0001\u00ae\u0001"+
53029 "\u00ae\u0001\u00af\u0001\u00af\u0001\u00af\u0001\u00b0\u0001\u00b0\u0001"+
53030 "\u00b0\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0003\u00b1\u0a1b"+
53031 "\b\u00b1\u0003\u00b1\u0a1d\b\u00b1\u0001\u00b2\u0001\u00b2\u0001\u00b2"+
53032 "\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b3\u0001\u00b3"+
53033 "\u0003\u00b3\u0a28\b\u00b3\u0001\u00b3\u0001\u00b3\u0001\u00b3\u0001\u00b3"+
53034 "\u0001\u00b3\u0001\u00b3\u0003\u00b3\u0a30\b\u00b3\u0001\u00b3\u0005\u00b3"+
53035 "\u0a33\b\u00b3\n\u00b3\f\u00b3\u0a36\t\u00b3\u0001\u00b4\u0001\u00b4\u0001"+
53036 "\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0003\u00b4\u0a3e\b\u00b4\u0001"+
53037 "\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0003\u00b5\u0a45"+
53038 "\b\u00b5\u0001\u00b6\u0001\u00b6\u0001\u00b6\u0001\u00b6\u0003\u00b6\u0a4b"+
53039 "\b\u00b6\u0001\u00b6\u0001\u00b6\u0001\u00b6\u0001\u00b6\u0001\u00b7\u0001"+
53040 "\u00b7\u0001\u00b7\u0003\u00b7\u0a54\b\u00b7\u0001\u00b7\u0003\u00b7\u0a57"+
53041 "\b\u00b7\u0001\u00b7\u0003\u00b7\u0a5a\b\u00b7\u0001\u00b7\u0003\u00b7"+
53042 "\u0a5d\b\u00b7\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
53043 "\u0005\u00b8\u0a64\b\u00b8\n\u00b8\f\u00b8\u0a67\t\u00b8\u0001\u00b8\u0001"+
53044 "\u00b8\u0001\u00b9\u0001\u00b9\u0001\u00b9\u0003\u00b9\u0a6e\b\u00b9\u0001"+
53045 "\u00ba\u0001\u00ba\u0001\u00ba\u0001\u00bb\u0001\u00bb\u0001\u00bb\u0001"+
53046 "\u00bb\u0003\u00bb\u0a77\b\u00bb\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0005"+
53047 "\u00bc\u0a7c\b\u00bc\n\u00bc\f\u00bc\u0a7f\t\u00bc\u0003\u00bc\u0a81\b"+
53048 "\u00bc\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0001"+
53049 "\u00bd\u0003\u00bd\u0a89\b\u00bd\u0003\u00bd\u0a8b\b\u00bd\u0001\u00bd"+
53050 "\u0003\u00bd\u0a8e\b\u00bd\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be"+
53051 "\u0001\u00be\u0001\u00be\u0001\u00bf\u0001\u00bf\u0003\u00bf\u0a98\b\u00bf"+
53052 "\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0003\u00bf\u0a9d\b\u00bf\u0001\u00c0"+
53053 "\u0001\u00c0\u0001\u00c0\u0003\u00c0\u0aa2\b\u00c0\u0001\u00c1\u0001\u00c1"+
53054 "\u0003\u00c1\u0aa6\b\u00c1\u0001\u00c2\u0003\u00c2\u0aa9\b\u00c2\u0001"+
53055 "\u00c2\u0001\u00c2\u0003\u00c2\u0aad\b\u00c2\u0001\u00c2\u0003\u00c2\u0ab0"+
53056 "\b\u00c2\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0003\u00c3\u0ab5\b\u00c3"+
53057 "\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c5\u0001\u00c5"+
53058 "\u0003\u00c5\u0abd\b\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5"+
53059 "\u0001\u00c5\u0005\u00c5\u0ac4\b\u00c5\n\u00c5\f\u00c5\u0ac7\t\u00c5\u0001"+
53060 "\u00c6\u0001\u00c6\u0001\u00c6\u0001\u00c6\u0001\u00c6\u0003\u00c6\u0ace"+
53061 "\b\u00c6\u0001\u00c6\u0003\u00c6\u0ad1\b\u00c6\u0001\u00c6\u0003\u00c6"+
53062 "\u0ad4\b\u00c6\u0001\u00c7\u0003\u00c7\u0ad7\b\u00c7\u0001\u00c7\u0001"+
53063 "\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7\u0add\b\u00c7\u0001\u00c7\u0001"+
53064 "\u00c7\u0003\u00c7\u0ae1\b\u00c7\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001"+
53065 "\u00c8\u0005\u00c8\u0ae7\b\u00c8\n\u00c8\f\u00c8\u0aea\t\u00c8\u0001\u00c8"+
53066 "\u0001\u00c8\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9"+
53067 "\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00ca\u0001\u00ca"+
53068 "\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca"+
53069 "\u0003\u00ca\u0aff\b\u00ca\u0003\u00ca\u0b01\b\u00ca\u0001\u00cb\u0001"+
53070 "\u00cb\u0001\u00cb\u0003\u00cb\u0b06\b\u00cb\u0003\u00cb\u0b08\b\u00cb"+
53071 "\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0003\u00cb"+
53072 "\u0b0f\b\u00cb\u0003\u00cb\u0b11\b\u00cb\u0001\u00cb\u0001\u00cb\u0003"+
53073 "\u00cb\u0b15\b\u00cb\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0005"+
53074 "\u00cc\u0b1b\b\u00cc\n\u00cc\f\u00cc\u0b1e\t\u00cc\u0001\u00cc\u0001\u00cc"+
53075 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
53076 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0003\u00cd\u0b2b\b\u00cd\u0001\u00cd"+
53077 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
53078 "\u0003\u00cd\u0b34\b\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
53079 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
53080 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0003\u00cd\u0b43\b\u00cd\u0001\u00cd"+
53081 "\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0003\u00cd\u0b49\b\u00cd\u0001\u00cd"+
53082 "\u0001\u00cd\u0003\u00cd\u0b4d\b\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
53083 "\u0001\u00cd\u0001\u00cd\u0003\u00cd\u0b54\b\u00cd\u0001\u00ce\u0001\u00ce"+
53084 "\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce"+
53085 "\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00cf\u0001\u00cf"+
53086 "\u0001\u00cf\u0001\u00cf\u0005\u00cf\u0b66\b\u00cf\n\u00cf\f\u00cf\u0b69"+
53087 "\t\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00d0\u0001\u00d0\u0001\u00d0\u0001"+
53088 "\u00d0\u0003\u00d0\u0b71\b\u00d0\u0001\u00d0\u0003\u00d0\u0b74\b\u00d0"+
53089 "\u0001\u00d0\u0001\u00d0\u0001\u00d0\u0001\u00d0\u0001\u00d1\u0001\u00d1"+
53090 "\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d2\u0001\u00d2"+
53091 "\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2"+
53092 "\u0001\u00d2\u0001\u00d2\u0003\u00d2\u0b8a\b\u00d2\u0003\u00d2\u0b8c\b"+
53093 "\u00d2\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001"+
53094 "\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0003\u00d3\u0b97\b\u00d3\u0001"+
53095 "\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001"+
53096 "\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001"+
53097 "\u00d4\u0001\u00d4\u0003\u00d4\u0ba7\b\u00d4\u0001\u00d4\u0001\u00d4\u0001"+
53098 "\u00d4\u0003\u00d4\u0bac\b\u00d4\u0005\u00d4\u0bae\b\u00d4\n\u00d4\f\u00d4"+
53099 "\u0bb1\t\u00d4\u0001\u00d4\u0001\u00d4\u0003\u00d4\u0bb5\b\u00d4\u0001"+
53100 "\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0003\u00d5\u0bbc"+
53101 "\b\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001"+
53102 "\u00d5\u0005\u00d5\u0bc4\b\u00d5\n\u00d5\f\u00d5\u0bc7\t\u00d5\u0001\u00d5"+
53103 "\u0001\u00d5\u0001\u00d5\u0001\u00d6\u0003\u00d6\u0bcd\b\u00d6\u0001\u00d6"+
53104 "\u0003\u00d6\u0bd0\b\u00d6\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7"+
53105 "\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0003\u00d7"+
53106 "\u0bdb\b\u00d7\u0001\u00d8\u0001\u00d8\u0003\u00d8\u0bdf\b\u00d8\u0001"+
53107 "\u00d8\u0001\u00d8\u0001\u00d8\u0003\u00d8\u0be4\b\u00d8\u0001\u00d9\u0001"+
53108 "\u00d9\u0001\u00d9\u0001\u00d9\u0003\u00d9\u0bea\b\u00d9\u0001\u00d9\u0001"+
53109 "\u00d9\u0001\u00d9\u0003\u00d9\u0bef\b\u00d9\u0001\u00d9\u0003\u00d9\u0bf2"+
53110 "\b\u00d9\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00db\u0001"+
53111 "\u00db\u0001\u00db\u0005\u00db\u0bfb\b\u00db\n\u00db\f\u00db\u0bfe\t\u00db"+
53112 "\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc"+
53113 "\u0003\u00dc\u0c06\b\u00dc\u0001\u00dd\u0001\u00dd\u0003\u00dd\u0c0a\b"+
53114 "\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001"+
53115 "\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0001"+
53116 "\u00de\u0001\u00de\u0003\u00de\u0c19\b\u00de\u0001\u00df\u0001\u00df\u0001"+
53117 "\u00df\u0001\u00df\u0001\u00df\u0003\u00df\u0c20\b\u00df\u0001\u00df\u0001"+
53118 "\u00df\u0001\u00df\u0001\u00e0\u0001\u00e0\u0001\u00e0\u0001\u00e0\u0001"+
53119 "\u00e0\u0001\u00e0\u0001\u00e0\u0003\u00e0\u0c2c\b\u00e0\u0001\u00e0\u0003"+
53120 "\u00e0\u0c2f\b\u00e0\u0001\u00e0\u0001\u00e0\u0003\u00e0\u0c33\b\u00e0"+
53121 "\u0001\u00e0\u0001\u00e0\u0003\u00e0\u0c37\b\u00e0\u0001\u00e1\u0001\u00e1"+
53122 "\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0003\u00e1"+
53123 "\u0c40\b\u00e1\u0001\u00e2\u0003\u00e2\u0c43\b\u00e2\u0001\u00e2\u0003"+
53124 "\u00e2\u0c46\b\u00e2\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0005\u00e2\u0c4b"+
53125 "\b\u00e2\n\u00e2\f\u00e2\u0c4e\t\u00e2\u0001\u00e3\u0001\u00e3\u0003\u00e3"+
53126 "\u0c52\b\u00e3\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0001\u00e4"+
53127 "\u0005\u00e4\u0c59\b\u00e4\n\u00e4\f\u00e4\u0c5c\t\u00e4\u0001\u00e4\u0001"+
53128 "\u00e4\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001"+
53129 "\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001"+
53130 "\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0003\u00e5\u0c6f\b\u00e5\u0003"+
53131 "\u00e5\u0c71\b\u00e5\u0001\u00e6\u0001\u00e6\u0001\u00e7\u0001\u00e7\u0003"+
53132 "\u00e7\u0c77\b\u00e7\u0001\u00e7\u0001\u00e7\u0001\u00e7\u0005\u00e7\u0c7c"+
53133 "\b\u00e7\n\u00e7\f\u00e7\u0c7f\t\u00e7\u0001\u00e8\u0001\u00e8\u0003\u00e8"+
53134 "\u0c83\b\u00e8\u0001\u00e8\u0001\u00e8\u0001\u00e8\u0005\u00e8\u0c88\b"+
53135 "\u00e8\n\u00e8\f\u00e8\u0c8b\t\u00e8\u0001\u00e9\u0003\u00e9\u0c8e\b\u00e9"+
53136 "\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0003\u00e9\u0c94\b\u00e9"+
53137 "\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0003\u00ea\u0c9a\b\u00ea"+
53138 "\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0003\u00eb\u0c9f\b\u00eb\u0001\u00eb"+
53139 "\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0003\u00eb\u0ca5\b\u00eb\u0001\u00eb"+
53140 "\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0003\u00eb\u0cac\b\u00eb"+
53141 "\u0001\u00ec\u0001\u00ec\u0001\u00ec\u0001\u00ec\u0003\u00ec\u0cb2\b\u00ec"+
53142 "\u0001\u00ec\u0001\u00ec\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed"+
53143 "\u0001\u00ed\u0003\u00ed\u0cbb\b\u00ed\u0001\u00ee\u0001\u00ee\u0001\u00ee"+
53144 "\u0001\u00ee\u0001\u00ee\u0003\u00ee\u0cc2\b\u00ee\u0003\u00ee\u0cc4\b"+
53145 "\u00ee\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0003\u00ef\u0cca"+
53146 "\b\u00ef\u0001\u00ef\u0003\u00ef\u0ccd\b\u00ef\u0001\u00ef\u0003\u00ef"+
53147 "\u0cd0\b\u00ef\u0001\u00ef\u0001\u00ef\u0001\u00f0\u0003\u00f0\u0cd5\b"+
53148 "\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f1\u0003"+
53149 "\u00f1\u0cdc\b\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001"+
53150 "\u00f2\u0001\u00f2\u0001\u00f2\u0003\u00f2\u0ce5\b\u00f2\u0001\u00f3\u0001"+
53151 "\u00f3\u0001\u00f3\u0003\u00f3\u0cea\b\u00f3\u0001\u00f4\u0001\u00f4\u0001"+
53152 "\u00f4\u0001\u00f5\u0001\u00f5\u0001\u00f5\u0001\u00f5\u0003\u00f5\u0cf3"+
53153 "\b\u00f5\u0003\u00f5\u0cf5\b\u00f5\u0001\u00f6\u0001\u00f6\u0001\u00f6"+
53154 "\u0003\u00f6\u0cfa\b\u00f6\u0001\u00f7\u0001\u00f7\u0001\u00f7\u0001\u00f7"+
53155 "\u0001\u00f7\u0001\u00f7\u0001\u00f7\u0003\u00f7\u0d03\b\u00f7\u0003\u00f7"+
53156 "\u0d05\b\u00f7\u0001\u00f7\u0003\u00f7\u0d08\b\u00f7\u0001\u00f8\u0001"+
53157 "\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001"+
53158 "\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001"+
53159 "\u00f8\u0001\u00f8\u0001\u00f8\u0003\u00f8\u0d1a\b\u00f8\u0003\u00f8\u0d1c"+
53160 "\b\u00f8\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001"+
53161 "\u00f9\u0001\u00f9\u0001\u00f9\u0003\u00f9\u0d26\b\u00f9\u0001\u00f9\u0001"+
53162 "\u00f9\u0001\u00fa\u0001\u00fa\u0001\u00fa\u0003\u00fa\u0d2d\b\u00fa\u0001"+
53163 "\u00fa\u0003\u00fa\u0d30\b\u00fa\u0001\u00fa\u0001\u00fa\u0003\u00fa\u0d34"+
53164 "\b\u00fa\u0001\u00fa\u0001\u00fa\u0001\u00fa\u0001\u00fa\u0005\u00fa\u0d3a"+
53165 "\b\u00fa\n\u00fa\f\u00fa\u0d3d\t\u00fa\u0003\u00fa\u0d3f\b\u00fa\u0001"+
53166 "\u00fb\u0001\u00fb\u0003\u00fb\u0d43\b\u00fb\u0001\u00fb\u0001\u00fb\u0001"+
53167 "\u00fb\u0005\u00fb\u0d48\b\u00fb\n\u00fb\f\u00fb\u0d4b\t\u00fb\u0001\u00fb"+
53168 "\u0001\u00fb\u0005\u00fb\u0d4f\b\u00fb\n\u00fb\f\u00fb\u0d52\t\u00fb\u0001"+
53169 "\u00fb\u0001\u00fb\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0005"+
53170 "\u00fc\u0d5a\b\u00fc\n\u00fc\f\u00fc\u0d5d\t\u00fc\u0001\u00fc\u0001\u00fc"+
53171 "\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc"+
53172 "\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc"+
53173 "\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc"+
53174 "\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0003\u00fc"+
53175 "\u0d78\b\u00fc\u0001\u00fd\u0001\u00fd\u0001\u00fd\u0001\u00fd\u0001\u00fd"+
53176 "\u0001\u00fd\u0003\u00fd\u0d80\b\u00fd\u0001\u00fe\u0001\u00fe\u0001\u00fe"+
53177 "\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe"+
53178 "\u0001\u00fe\u0001\u00fe\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0001\u00ff"+
53179 "\u0001\u00ff\u0003\u00ff\u0d92\b\u00ff\u0003\u00ff\u0d94\b\u00ff\u0001"+
53180 "\u00ff\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0003\u00ff\u0d9b"+
53181 "\b\u00ff\u0001\u00ff\u0003\u00ff\u0d9e\b\u00ff\u0003\u00ff\u0da0\b\u00ff"+
53182 "\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0003\u00ff"+
53183 "\u0da7\b\u00ff\u0003\u00ff\u0da9\b\u00ff\u0001\u0100\u0001\u0100\u0001"+
53184 "\u0100\u0003\u0100\u0dae\b\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0005"+
53185 "\u0100\u0db3\b\u0100\n\u0100\f\u0100\u0db6\t\u0100\u0001\u0101\u0001\u0101"+
53186 "\u0003\u0101\u0dba\b\u0101\u0001\u0101\u0003\u0101\u0dbd\b\u0101\u0001"+
53187 "\u0101\u0001\u0101\u0003\u0101\u0dc1\b\u0101\u0001\u0102\u0001\u0102\u0001"+
53188 "\u0102\u0001\u0102\u0001\u0102\u0005\u0102\u0dc8\b\u0102\n\u0102\f\u0102"+
53189 "\u0dcb\t\u0102\u0003\u0102\u0dcd\b\u0102\u0001\u0103\u0001\u0103\u0001"+
53190 "\u0103\u0001\u0103\u0005\u0103\u0dd3\b\u0103\n\u0103\f\u0103\u0dd6\t\u0103"+
53191 "\u0001\u0103\u0003\u0103\u0dd9\b\u0103\u0001\u0104\u0001\u0104\u0003\u0104"+
53192 "\u0ddd\b\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0003\u0104\u0de2\b"+
53193 "\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0003\u0104\u0de7\b\u0104\u0001"+
53194 "\u0105\u0001\u0105\u0003\u0105\u0deb\b\u0105\u0001\u0105\u0001\u0105\u0001"+
53195 "\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0005\u0106\u0df4"+
53196 "\b\u0106\n\u0106\f\u0106\u0df7\t\u0106\u0001\u0106\u0001\u0106\u0001\u0107"+
53197 "\u0001\u0107\u0003\u0107\u0dfd\b\u0107\u0001\u0108\u0001\u0108\u0001\u0108"+
53198 "\u0001\u0108\u0003\u0108\u0e03\b\u0108\u0001\u0108\u0001\u0108\u0003\u0108"+
53199 "\u0e07\b\u0108\u0001\u0108\u0001\u0108\u0003\u0108\u0e0b\b\u0108\u0001"+
53200 "\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0003"+
53201 "\u0108\u0e13\b\u0108\u0003\u0108\u0e15\b\u0108\u0001\u0108\u0003\u0108"+
53202 "\u0e18\b\u0108\u0001\u0108\u0001\u0108\u0001\u0109\u0001\u0109\u0001\u0109"+
53203 "\u0003\u0109\u0e1f\b\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0003\u0109"+
53204 "\u0e24\b\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u0109"+
53205 "\u0001\u0109\u0001\u0109\u0003\u0109\u0e2d\b\u0109\u0001\u010a\u0001\u010a"+
53206 "\u0001\u010a\u0003\u010a\u0e32\b\u010a\u0001\u010a\u0001\u010a\u0001\u010a"+
53207 "\u0001\u010a\u0005\u010a\u0e38\b\u010a\n\u010a\f\u010a\u0e3b\t\u010a\u0001"+
53208 "\u010a\u0001\u010a\u0001\u010a\u0001\u010a\u0003\u010a\u0e41\b\u010a\u0001"+
53209 "\u010b\u0001\u010b\u0001\u010b\u0001\u010b\u0001\u010c\u0001\u010c\u0003"+
53210 "\u010c\u0e49\b\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0001"+
53211 "\u010c\u0001\u010c\u0001\u010c\u0003\u010c\u0e52\b\u010c\u0001\u010c\u0001"+
53212 "\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0001"+
53213 "\u010c\u0001\u010c\u0001\u010c\u0003\u010c\u0e5e\b\u010c\u0001\u010d\u0001"+
53214 "\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0001"+
53215 "\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0005\u010d\u0e6c"+
53216 "\b\u010d\n\u010d\f\u010d\u0e6f\t\u010d\u0003\u010d\u0e71\b\u010d\u0003"+
53217 "\u010d\u0e73\b\u010d\u0001\u010e\u0003\u010e\u0e76\b\u010e\u0001\u010e"+
53218 "\u0003\u010e\u0e79\b\u010e\u0001\u010e\u0003\u010e\u0e7c\b\u010e\u0001"+
53219 "\u010e\u0003\u010e\u0e7f\b\u010e\u0001\u010f\u0001\u010f\u0001\u010f\u0001"+
53220 "\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0001"+
53221 "\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0001"+
53222 "\u010f\u0003\u010f\u0e91\b\u010f\u0001\u0110\u0001\u0110\u0001\u0110\u0003"+
53223 "\u0110\u0e96\b\u0110\u0001\u0110\u0001\u0110\u0001\u0110\u0003\u0110\u0e9b"+
53224 "\b\u0110\u0001\u0110\u0001\u0110\u0001\u0110\u0003\u0110\u0ea0\b\u0110"+
53225 "\u0001\u0110\u0003\u0110\u0ea3\b\u0110\u0005\u0110\u0ea5\b\u0110\n\u0110"+
53226 "\f\u0110\u0ea8\t\u0110\u0001\u0110\u0001\u0110\u0001\u0111\u0001\u0111"+
53227 "\u0001\u0111\u0003\u0111\u0eaf\b\u0111\u0001\u0112\u0001\u0112\u0001\u0112"+
53228 "\u0001\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0005\u0112"+
53229 "\u0eb9\b\u0112\n\u0112\f\u0112\u0ebc\t\u0112\u0003\u0112\u0ebe\b\u0112"+
53230 "\u0001\u0112\u0003\u0112\u0ec1\b\u0112\u0001\u0112\u0001\u0112\u0001\u0112"+
53231 "\u0001\u0112\u0001\u0112\u0001\u0113\u0001\u0113\u0001\u0113\u0001\u0113"+
53232 "\u0001\u0113\u0001\u0113\u0005\u0113\u0ece\b\u0113\n\u0113\f\u0113\u0ed1"+
53233 "\t\u0113\u0003\u0113\u0ed3\b\u0113\u0001\u0113\u0003\u0113\u0ed6\b\u0113"+
53234 "\u0001\u0113\u0001\u0113\u0003\u0113\u0eda\b\u0113\u0001\u0113\u0001\u0113"+
53235 "\u0003\u0113\u0ede\b\u0113\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114"+
53236 "\u0001\u0114\u0001\u0114\u0005\u0114\u0ee6\b\u0114\n\u0114\f\u0114\u0ee9"+
53237 "\t\u0114\u0003\u0114\u0eeb\b\u0114\u0001\u0114\u0003\u0114\u0eee\b\u0114"+
53238 "\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0115"+
53239 "\u0001\u0115\u0001\u0115\u0001\u0115\u0003\u0115\u0ef9\b\u0115\u0001\u0115"+
53240 "\u0005\u0115\u0efc\b\u0115\n\u0115\f\u0115\u0eff\t\u0115\u0001\u0116\u0005"+
53241 "\u0116\u0f02\b\u0116\n\u0116\f\u0116\u0f05\t\u0116\u0001\u0117\u0003\u0117"+
53242 "\u0f08\b\u0117\u0001\u0117\u0003\u0117\u0f0b\b\u0117\u0001\u0117\u0001"+
53243 "\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001"+
53244 "\u0117\u0001\u0117\u0003\u0117\u0f16\b\u0117\u0001\u0117\u0003\u0117\u0f19"+
53245 "\b\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0003\u0117\u0f1e\b\u0117"+
53246 "\u0003\u0117\u0f20\b\u0117\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118"+
53247 "\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118"+
53248 "\u0003\u0118\u0f2c\b\u0118\u0001\u0118\u0003\u0118\u0f2f\b\u0118\u0001"+
53249 "\u0119\u0001\u0119\u0001\u0119\u0005\u0119\u0f34\b\u0119\n\u0119\f\u0119"+
53250 "\u0f37\t\u0119\u0003\u0119\u0f39\b\u0119\u0001\u011a\u0001\u011a\u0003"+
53251 "\u011a\u0f3d\b\u011a\u0001\u011a\u0001\u011a\u0003\u011a\u0f41\b\u011a"+
53252 "\u0001\u011a\u0003\u011a\u0f44\b\u011a\u0001\u011b\u0003\u011b\u0f47\b"+
53253 "\u011b\u0001\u011b\u0001\u011b\u0003\u011b\u0f4b\b\u011b\u0001\u011b\u0001"+
53254 "\u011b\u0001\u011b\u0001\u011c\u0001\u011c\u0001\u011c\u0001\u011c\u0005"+
53255 "\u011c\u0f54\b\u011c\n\u011c\f\u011c\u0f57\t\u011c\u0003\u011c\u0f59\b"+
53256 "\u011c\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0003"+
53257 "\u011d\u0f60\b\u011d\u0001\u011e\u0003\u011e\u0f63\b\u011e\u0001\u011e"+
53258 "\u0001\u011e\u0003\u011e\u0f67\b\u011e\u0001\u011e\u0001\u011e\u0001\u011e"+
53259 "\u0001\u011e\u0001\u011e\u0003\u011e\u0f6e\b\u011e\u0001\u011e\u0001\u011e"+
53260 "\u0001\u011e\u0003\u011e\u0f73\b\u011e\u0001\u011e\u0001\u011e\u0001\u011e"+
53261 "\u0001\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0005\u011e\u0f7c\b\u011e"+
53262 "\n\u011e\f\u011e\u0f7f\t\u011e\u0001\u011e\u0001\u011e\u0003\u011e\u0f83"+
53263 "\b\u011e\u0003\u011e\u0f85\b\u011e\u0001\u011f\u0001\u011f\u0001\u011f"+
53264 "\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f"+
53265 "\u0001\u011f\u0001\u011f\u0003\u011f\u0f92\b\u011f\u0001\u011f\u0001\u011f"+
53266 "\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f"+
53267 "\u0001\u011f\u0003\u011f\u0f9d\b\u011f\u0001\u0120\u0001\u0120\u0001\u0120"+
53268 "\u0001\u0120\u0005\u0120\u0fa3\b\u0120\n\u0120\f\u0120\u0fa6\t\u0120\u0003"+
53269 "\u0120\u0fa8\b\u0120\u0001\u0120\u0001\u0120\u0003\u0120\u0fac\b\u0120"+
53270 "\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0003\u0120\u0fb2\b\u0120"+
53271 "\u0001\u0121\u0001\u0121\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122"+
53272 "\u0005\u0122\u0fba\b\u0122\n\u0122\f\u0122\u0fbd\t\u0122\u0001\u0123\u0001"+
53273 "\u0123\u0001\u0123\u0001\u0123\u0001\u0123\u0005\u0123\u0fc4\b\u0123\n"+
53274 "\u0123\f\u0123\u0fc7\t\u0123\u0001\u0123\u0001\u0123\u0003\u0123\u0fcb"+
53275 "\b\u0123\u0001\u0123\u0001\u0123\u0001\u0123\u0001\u0123\u0001\u0123\u0001"+
53276 "\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0003\u0124\u0fd7"+
53277 "\b\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0003\u0124\u0fdd"+
53278 "\b\u0124\u0001\u0124\u0003\u0124\u0fe0\b\u0124\u0001\u0124\u0003\u0124"+
53279 "\u0fe3\b\u0124\u0001\u0124\u0003\u0124\u0fe6\b\u0124\u0001\u0124\u0003"+
53280 "\u0124\u0fe9\b\u0124\u0001\u0124\u0003\u0124\u0fec\b\u0124\u0001\u0124"+
53281 "\u0003\u0124\u0fef\b\u0124\u0001\u0124\u0001\u0124\u0003\u0124\u0ff3\b"+
53282 "\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0003\u0124\u0ff8\b\u0124\u0001"+
53283 "\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0003\u0124\u0fff"+
53284 "\b\u0124\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0003"+
53285 "\u0125\u1006\b\u0125\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001"+
53286 "\u0126\u0001\u0126\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001"+
53287 "\u0127\u0003\u0127\u1013\b\u0127\u0001\u0128\u0001\u0128\u0001\u0128\u0001"+
53288 "\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001"+
53289 "\u0128\u0003\u0128\u101f\b\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001"+
53290 "\u0128\u0003\u0128\u1025\b\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001"+
53291 "\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0003\u0128\u102e\b\u0128\u0001"+
53292 "\u0128\u0003\u0128\u1031\b\u0128\u0001\u0129\u0001\u0129\u0003\u0129\u1035"+
53293 "\b\u0129\u0001\u0129\u0001\u0129\u0003\u0129\u1039\b\u0129\u0001\u0129"+
53294 "\u0001\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0005\u0129\u1040\b\u0129"+
53295 "\n\u0129\f\u0129\u1043\t\u0129\u0001\u0129\u0001\u0129\u0003\u0129\u1047"+
53296 "\b\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0001"+
53297 "\u0129\u0001\u0129\u0003\u0129\u1050\b\u0129\u0003\u0129\u1052\b\u0129"+
53298 "\u0001\u0129\u0001\u0129\u0001\u0129\u0003\u0129\u1057\b\u0129\u0003\u0129"+
53299 "\u1059\b\u0129\u0001\u012a\u0001\u012a\u0001\u012a\u0005\u012a\u105e\b"+
53300 "\u012a\n\u012a\f\u012a\u1061\t\u012a\u0001\u012b\u0001\u012b\u0001\u012b"+
53301 "\u0001\u012b\u0001\u012b\u0001\u012b\u0005\u012b\u1069\b\u012b\n\u012b"+
53302 "\f\u012b\u106c\t\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
53303 "\u0001\u012b\u0001\u012b\u0003\u012b\u1074\b\u012b\u0001\u012c\u0001\u012c"+
53304 "\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u107b\b\u012c\u0003\u012c"+
53305 "\u107d\b\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c"+
53306 "\u0005\u012c\u1084\b\u012c\n\u012c\f\u012c\u1087\t\u012c\u0001\u012c\u0001"+
53307 "\u012c\u0003\u012c\u108b\b\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001"+
53308 "\u012c\u0001\u012c\u0003\u012c\u1092\b\u012c\u0001\u012c\u0001\u012c\u0001"+
53309 "\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u1099\b\u012c\u0001\u012c\u0001"+
53310 "\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001"+
53311 "\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001"+
53312 "\u012c\u0005\u012c\u10a9\b\u012c\n\u012c\f\u012c\u10ac\t\u012c\u0001\u012c"+
53313 "\u0001\u012c\u0003\u012c\u10b0\b\u012c\u0001\u012c\u0001\u012c\u0003\u012c"+
53314 "\u10b4\b\u012c\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
53315 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
53316 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
53317 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
53318 "\u0001\u012d\u0001\u012d\u0003\u012d\u10cf\b\u012d\u0001\u012d\u0003\u012d"+
53319 "\u10d2\b\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
53320 "\u0001\u012d\u0001\u012d\u0003\u012d\u10db\b\u012d\u0001\u012d\u0001\u012d"+
53321 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
53322 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
53323 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
53324 "\u0001\u012d\u0005\u012d\u10f2\b\u012d\n\u012d\f\u012d\u10f5\t\u012d\u0003"+
53325 "\u012d\u10f7\b\u012d\u0003\u012d\u10f9\b\u012d\u0001\u012e\u0001\u012e"+
53326 "\u0001\u012e\u0003\u012e\u10fe\b\u012e\u0001\u012f\u0001\u012f\u0001\u012f"+
53327 "\u0001\u012f\u0001\u012f\u0001\u012f\u0003\u012f\u1106\b\u012f\u0001\u0130"+
53328 "\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130"+
53329 "\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130"+
53330 "\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130"+
53331 "\u0003\u0130\u111b\b\u0130\u0003\u0130\u111d\b\u0130\u0001\u0131\u0001"+
53332 "\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0003"+
53333 "\u0131\u1126\b\u0131\u0001\u0131\u0003\u0131\u1129\b\u0131\u0001\u0132"+
53334 "\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132"+
53335 "\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0005\u0132\u1136\b\u0132"+
53336 "\n\u0132\f\u0132\u1139\t\u0132\u0001\u0132\u0001\u0132\u0003\u0132\u113d"+
53337 "\b\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0005"+
53338 "\u0132\u1144\b\u0132\n\u0132\f\u0132\u1147\t\u0132\u0001\u0132\u0001\u0132"+
53339 "\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132"+
53340 "\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132"+
53341 "\u0001\u0132\u0005\u0132\u1158\b\u0132\n\u0132\f\u0132\u115b\t\u0132\u0003"+
53342 "\u0132\u115d\b\u0132\u0001\u0132\u0001\u0132\u0003\u0132\u1161\b\u0132"+
53343 "\u0001\u0133\u0001\u0133\u0001\u0133\u0001\u0133\u0001\u0133\u0001\u0133"+
53344 "\u0001\u0133\u0001\u0133\u0001\u0133\u0001\u0133\u0003\u0133\u116d\b\u0133"+
53345 "\u0003\u0133\u116f\b\u0133\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134"+
53346 "\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134"+
53347 "\u0001\u0134\u0003\u0134\u117c\b\u0134\u0003\u0134\u117e\b\u0134\u0001"+
53348 "\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001"+
53349 "\u0135\u0001\u0135\u0003\u0135\u1188\b\u0135\u0001\u0136\u0001\u0136\u0001"+
53350 "\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001"+
53351 "\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001"+
53352 "\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001"+
53353 "\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001"+
53354 "\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001"+
53355 "\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001"+
53356 "\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0003\u0136\u11b5"+
53357 "\b\u0136\u0001\u0137\u0001\u0137\u0001\u0137\u0001\u0137\u0003\u0137\u11bb"+
53358 "\b\u0137\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001"+
53359 "\u0138\u0001\u0138\u0003\u0138\u11c4\b\u0138\u0001\u0138\u0001\u0138\u0001"+
53360 "\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001"+
53361 "\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0003\u0138\u11d3"+
53362 "\b\u0138\u0001\u0139\u0001\u0139\u0003\u0139\u11d7\b\u0139\u0001\u013a"+
53363 "\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0005\u013a\u11de\b\u013a"+
53364 "\n\u013a\f\u013a\u11e1\t\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0003"+
53365 "\u013a\u11e6\b\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001"+
53366 "\u013a\u0001\u013a\u0005\u013a\u11ee\b\u013a\n\u013a\f\u013a\u11f1\t\u013a"+
53367 "\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a"+
53368 "\u0003\u013a\u11f9\b\u013a\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b"+
53369 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0003\u013b"+
53370 "\u1204\b\u013b\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c"+
53371 "\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0003\u013c"+
53372 "\u1210\b\u013c\u0003\u013c\u1212\b\u013c\u0001\u013c\u0001\u013c\u0001"+
53373 "\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0003\u013c\u121a\b\u013c\u0001"+
53374 "\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001"+
53375 "\u013d\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0003"+
53376 "\u013e\u1228\b\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0005"+
53377 "\u013e\u122e\b\u013e\n\u013e\f\u013e\u1231\t\u013e\u0001\u013e\u0001\u013e"+
53378 "\u0003\u013e\u1235\b\u013e\u0003\u013e\u1237\b\u013e\u0001\u013f\u0001"+
53379 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0003"+
53380 "\u013f\u1240\b\u013f\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0003"+
53381 "\u0140\u1246\b\u0140\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001"+
53382 "\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001"+
53383 "\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001"+
53384 "\u0141\u0001\u0141\u0001\u0141\u0003\u0141\u125b\b\u0141\u0001\u0142\u0001"+
53385 "\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0003\u0142\u1262\b\u0142\u0001"+
53386 "\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0005\u0142\u1268\b\u0142\n"+
53387 "\u0142\f\u0142\u126b\t\u0142\u0001\u0142\u0001\u0142\u0003\u0142\u126f"+
53388 "\b\u0142\u0003\u0142\u1271\b\u0142\u0001\u0143\u0001\u0143\u0001\u0143"+
53389 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
53390 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
53391 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
53392 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
53393 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
53394 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0005\u0143\u1298\b\u0143"+
53395 "\n\u0143\f\u0143\u129b\t\u0143\u0001\u0143\u0001\u0143\u0003\u0143\u129f"+
53396 "\b\u0143\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001"+
53397 "\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001"+
53398 "\u0144\u0001\u0144\u0003\u0144\u12ae\b\u0144\u0001\u0145\u0001\u0145\u0001"+
53399 "\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0003\u0145\u12b6\b\u0145\u0001"+
53400 "\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001"+
53401 "\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001"+
53402 "\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001"+
53403 "\u0146\u0001\u0146\u0001\u0146\u0003\u0146\u12cd\b\u0146\u0001\u0147\u0001"+
53404 "\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0003"+
53405 "\u0147\u12d6\b\u0147\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001"+
53406 "\u0148\u0001\u0148\u0003\u0148\u12de\b\u0148\u0001\u0149\u0001\u0149\u0001"+
53407 "\u0149\u0001\u0149\u0001\u0149\u0001\u014a\u0001\u014a\u0001\u014a\u0001"+
53408 "\u014a\u0003\u014a\u12e9\b\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0003"+
53409 "\u014a\u12ee\b\u014a\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0005"+
53410 "\u014b\u12f4\b\u014b\n\u014b\f\u014b\u12f7\t\u014b\u0001\u014b\u0001\u014b"+
53411 "\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0005\u014c\u12ff\b\u014c"+
53412 "\n\u014c\f\u014c\u1302\t\u014c\u0001\u014c\u0001\u014c\u0001\u014d\u0001"+
53413 "\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0003\u014d\u130c"+
53414 "\b\u014d\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001"+
53415 "\u014e\u0001\u014e\u0003\u014e\u1315\b\u014e\u0001\u014f\u0001\u014f\u0001"+
53416 "\u014f\u0001\u014f\u0001\u014f\u0003\u014f\u131c\b\u014f\u0001\u0150\u0001"+
53417 "\u0150\u0003\u0150\u1320\b\u0150\u0001\u0151\u0001\u0151\u0001\u0151\u0001"+
53418 "\u0151\u0003\u0151\u1326\b\u0151\u0001\u0151\u0001\u0151\u0001\u0151\u0001"+
53419 "\u0151\u0001\u0151\u0001\u0152\u0001\u0152\u0001\u0152\u0001\u0152\u0001"+
53420 "\u0152\u0001\u0152\u0001\u0152\u0001\u0152\u0001\u0152\u0001\u0152\u0001"+
53421 "\u0152\u0001\u0152\u0001\u0152\u0001\u0152\u0003\u0152\u133b\b\u0152\u0001"+
53422 "\u0152\u0001\u0152\u0001\u0152\u0001\u0153\u0001\u0153\u0001\u0153\u0001"+
53423 "\u0153\u0001\u0153\u0001\u0153\u0001\u0153\u0005\u0153\u1347\b\u0153\n"+
53424 "\u0153\f\u0153\u134a\t\u0153\u0003\u0153\u134c\b\u0153\u0001\u0153\u0001"+
53425 "\u0153\u0001\u0154\u0001\u0154\u0001\u0154\u0001\u0154\u0001\u0154\u0005"+
53426 "\u0154\u1355\b\u0154\n\u0154\f\u0154\u1358\t\u0154\u0001\u0154\u0001\u0154"+
53427 "\u0003\u0154\u135c\b\u0154\u0001\u0155\u0003\u0155\u135f\b\u0155\u0001"+
53428 "\u0155\u0001\u0155\u0003\u0155\u1363\b\u0155\u0001\u0155\u0003\u0155\u1366"+
53429 "\b\u0155\u0001\u0155\u0001\u0155\u0003\u0155\u136a\b\u0155\u0001\u0155"+
53430 "\u0003\u0155\u136d\b\u0155\u0001\u0155\u0003\u0155\u1370\b\u0155\u0001"+
53431 "\u0155\u0001\u0155\u0001\u0155\u0001\u0155\u0003\u0155\u1376\b\u0155\u0001"+
53432 "\u0156\u0003\u0156\u1379\b\u0156\u0001\u0156\u0003\u0156\u137c\b\u0156"+
53433 "\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0157\u0003\u0157\u1382\b\u0157"+
53434 "\u0001\u0157\u0003\u0157\u1385\b\u0157\u0001\u0157\u0001\u0157\u0001\u0157"+
53435 "\u0001\u0157\u0005\u0157\u138b\b\u0157\n\u0157\f\u0157\u138e\t\u0157\u0001"+
53436 "\u0158\u0003\u0158\u1391\b\u0158\u0001\u0158\u0003\u0158\u1394\b\u0158"+
53437 "\u0001\u0158\u0001\u0158\u0001\u0159\u0003\u0159\u1399\b\u0159\u0001\u0159"+
53438 "\u0001\u0159\u0001\u015a\u0001\u015a\u0001\u015a\u0004\u015a\u13a0\b\u015a"+
53439 "\u000b\u015a\f\u015a\u13a1\u0001\u015a\u0001\u015a\u0001\u015b\u0001\u015b"+
53440 "\u0001\u015b\u0001\u015b\u0001\u015b\u0005\u015b\u13ab\b\u015b\n\u015b"+
53441 "\f\u015b\u13ae\t\u015b\u0003\u015b\u13b0\b\u015b\u0001\u015c\u0003\u015c"+
53442 "\u13b3\b\u015c\u0001\u015c\u0001\u015c\u0003\u015c\u13b7\b\u015c\u0001"+
53443 "\u015c\u0001\u015c\u0001\u015c\u0003\u015c\u13bc\b\u015c\u0001\u015c\u0001"+
53444 "\u015c\u0003\u015c\u13c0\b\u015c\u0001\u015d\u0001\u015d\u0001\u015d\u0001"+
53445 "\u015d\u0001\u015e\u0001\u015e\u0001\u015e\u0001\u015e\u0005\u015e\u13ca"+
53446 "\b\u015e\n\u015e\f\u015e\u13cd\t\u015e\u0001\u015e\u0003\u015e\u13d0\b"+
53447 "\u015e\u0001\u015f\u0001\u015f\u0001\u015f\u0001\u015f\u0005\u015f\u13d6"+
53448 "\b\u015f\n\u015f\f\u015f\u13d9\t\u015f\u0001\u015f\u0001\u015f\u0001\u015f"+
53449 "\u0001\u015f\u0003\u015f\u13df\b\u015f\u0001\u0160\u0001\u0160\u0003\u0160"+
53450 "\u13e3\b\u0160\u0001\u0161\u0003\u0161\u13e6\b\u0161\u0001\u0161\u0001"+
53451 "\u0161\u0003\u0161\u13ea\b\u0161\u0001\u0161\u0001\u0161\u0003\u0161\u13ee"+
53452 "\b\u0161\u0001\u0161\u0003\u0161\u13f1\b\u0161\u0001\u0161\u0003\u0161"+
53453 "\u13f4\b\u0161\u0001\u0161\u0001\u0161\u0003\u0161\u13f8\b\u0161\u0001"+
53454 "\u0162\u0003\u0162\u13fb\b\u0162\u0001\u0162\u0003\u0162\u13fe\b\u0162"+
53455 "\u0001\u0162\u0001\u0162\u0003\u0162\u1402\b\u0162\u0001\u0162\u0003\u0162"+
53456 "\u1405\b\u0162\u0001\u0162\u0003\u0162\u1408\b\u0162\u0001\u0163\u0001"+
53457 "\u0163\u0001\u0163\u0001\u0163\u0001\u0163\u0001\u0163\u0001\u0163\u0001"+
53458 "\u0163\u0001\u0163\u0003\u0163\u1413\b\u0163\u0001\u0164\u0001\u0164\u0003"+
53459 "\u0164\u1417\b\u0164\u0001\u0164\u0001\u0164\u0001\u0164\u0003\u0164\u141c"+
53460 "\b\u0164\u0005\u0164\u141e\b\u0164\n\u0164\f\u0164\u1421\t\u0164\u0001"+
53461 "\u0165\u0001\u0165\u0001\u0166\u0001\u0166\u0001\u0166\u0003\u0166\u1428"+
53462 "\b\u0166\u0001\u0166\u0001\u0166\u0003\u0166\u142c\b\u0166\u0001\u0166"+
53463 "\u0005\u0166\u142f\b\u0166\n\u0166\f\u0166\u1432\t\u0166\u0001\u0167\u0003"+
53464 "\u0167\u1435\b\u0167\u0001\u0167\u0001\u0167\u0003\u0167\u1439\b\u0167"+
53465 "\u0001\u0167\u0001\u0167\u0003\u0167\u143d\b\u0167\u0001\u0167\u0003\u0167"+
53466 "\u1440\b\u0167\u0001\u0167\u0003\u0167\u1443\b\u0167\u0001\u0167\u0003"+
53467 "\u0167\u1446\b\u0167\u0001\u0167\u0003\u0167\u1449\b\u0167\u0001\u0167"+
53468 "\u0003\u0167\u144c\b\u0167\u0001\u0168\u0001\u0168\u0001\u0169\u0001\u0169"+
53469 "\u0001\u0169\u0003\u0169\u1453\b\u0169\u0003\u0169\u1455\b\u0169\u0001"+
53470 "\u0169\u0001\u0169\u0005\u0169\u1459\b\u0169\n\u0169\f\u0169\u145c\t\u0169"+
53471 "\u0001\u016a\u0001\u016a\u0001\u016a\u0001\u016a\u0001\u016a\u0003\u016a"+
53472 "\u1463\b\u016a\u0001\u016a\u0001\u016a\u0003\u016a\u1467\b\u016a\u0001"+
53473 "\u016a\u0001\u016a\u0003\u016a\u146b\b\u016a\u0001\u016a\u0003\u016a\u146e"+
53474 "\b\u016a\u0001\u016a\u0003\u016a\u1471\b\u016a\u0003\u016a\u1473\b\u016a"+
53475 "\u0001\u016b\u0001\u016b\u0003\u016b\u1477\b\u016b\u0001\u016b\u0001\u016b"+
53476 "\u0003\u016b\u147b\b\u016b\u0001\u016b\u0003\u016b\u147e\b\u016b\u0001"+
53477 "\u016b\u0001\u016b\u0003\u016b\u1482\b\u016b\u0001\u016b\u0001\u016b\u0001"+
53478 "\u016b\u0001\u016b\u0001\u016b\u0001\u016b\u0001\u016b\u0001\u016b\u0003"+
53479 "\u016b\u148c\b\u016b\u0001\u016b\u0003\u016b\u148f\b\u016b\u0003\u016b"+
53480 "\u1491\b\u016b\u0001\u016c\u0001\u016c\u0003\u016c\u1495\b\u016c\u0001"+
53481 "\u016d\u0001\u016d\u0001\u016e\u0001\u016e\u0001\u016e\u0001\u016f\u0001"+
53482 "\u016f\u0001\u016f\u0001\u0170\u0001\u0170\u0001\u0170\u0005\u0170\u14a2"+
53483 "\b\u0170\n\u0170\f\u0170\u14a5\t\u0170\u0001\u0171\u0001\u0171\u0005\u0171"+
53484 "\u14a9\b\u0171\n\u0171\f\u0171\u14ac\t\u0171\u0001\u0172\u0001\u0172\u0003"+
53485 "\u0172\u14b0\b\u0172\u0001\u0172\u0003\u0172\u14b3\b\u0172\u0001\u0172"+
53486 "\u0001\u0172\u0003\u0172\u14b7\b\u0172\u0001\u0172\u0001\u0172\u0003\u0172"+
53487 "\u14bb\b\u0172\u0001\u0172\u0001\u0172\u0003\u0172\u14bf\b\u0172\u0001"+
53488 "\u0172\u0003\u0172\u14c2\b\u0172\u0001\u0172\u0001\u0172\u0001\u0172\u0001"+
53489 "\u0172\u0003\u0172\u14c8\b\u0172\u0001\u0173\u0003\u0173\u14cb\b\u0173"+
53490 "\u0001\u0173\u0003\u0173\u14ce\b\u0173\u0001\u0173\u0001\u0173\u0001\u0173"+
53491 "\u0001\u0173\u0003\u0173\u14d4\b\u0173\u0001\u0173\u0003\u0173\u14d7\b"+
53492 "\u0173\u0001\u0173\u0001\u0173\u0003\u0173\u14db\b\u0173\u0001\u0173\u0001"+
53493 "\u0173\u0001\u0173\u0003\u0173\u14e0\b\u0173\u0001\u0173\u0001\u0173\u0001"+
53494 "\u0173\u0001\u0173\u0003\u0173\u14e6\b\u0173\u0003\u0173\u14e8\b\u0173"+
53495 "\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0003\u0174\u14ee\b\u0174"+
53496 "\u0001\u0175\u0001\u0175\u0001\u0175\u0001\u0176\u0001\u0176\u0001\u0176"+
53497 "\u0001\u0176\u0001\u0176\u0005\u0176\u14f8\b\u0176\n\u0176\f\u0176\u14fb"+
53498 "\t\u0176\u0001\u0177\u0001\u0177\u0001\u0177\u0001\u0178\u0001\u0178\u0001"+
53499 "\u0178\u0001\u0178\u0001\u0179\u0001\u0179\u0001\u0179\u0001\u017a\u0001"+
53500 "\u017a\u0001\u017a\u0005\u017a\u150a\b\u017a\n\u017a\f\u017a\u150d\t\u017a"+
53501 "\u0001\u017b\u0001\u017b\u0003\u017b\u1511\b\u017b\u0001\u017b\u0001\u017b"+
53502 "\u0001\u017b\u0001\u017c\u0001\u017c\u0001\u017c\u0003\u017c\u1519\b\u017c"+
53503 "\u0001\u017c\u0001\u017c\u0001\u017c\u0003\u017c\u151e\b\u017c\u0003\u017c"+
53504 "\u1520\b\u017c\u0001\u017d\u0001\u017d\u0001\u017d\u0005\u017d\u1525\b"+
53505 "\u017d\n\u017d\f\u017d\u1528\t\u017d\u0001\u017e\u0001\u017e\u0001\u017e"+
53506 "\u0001\u017e\u0003\u017e\u152e\b\u017e\u0001\u017e\u0003\u017e\u1531\b"+
53507 "\u017e\u0001\u017f\u0001\u017f\u0001\u017f\u0001\u0180\u0001\u0180\u0001"+
53508 "\u0180\u0003\u0180\u1539\b\u0180\u0001\u0181\u0001\u0181\u0001\u0181\u0001"+
53509 "\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001"+
53510 "\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001"+
53511 "\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001"+
53512 "\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001"+
53513 "\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001"+
53514 "\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001"+
53515 "\u0181\u0005\u0181\u1563\b\u0181\n\u0181\f\u0181\u1566\t\u0181\u0001\u0181"+
53516 "\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181"+
53517 "\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181"+
53518 "\u0001\u0181\u0001\u0181\u0001\u0181\u0005\u0181\u1578\b\u0181\n\u0181"+
53519 "\f\u0181\u157b\t\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181"+
53520 "\u0003\u0181\u1581\b\u0181\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53521 "\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53522 "\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53523 "\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53524 "\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53525 "\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53526 "\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53527 "\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53528 "\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182"+
53529 "\u0001\u0182\u0001\u0182\u0003\u0182\u15b9\b\u0182\u0001\u0183\u0001\u0183"+
53530 "\u0001\u0183\u0001\u0183\u0003\u0183\u15bf\b\u0183\u0001\u0184\u0001\u0184"+
53531 "\u0001\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0003\u0184\u15c7\b\u0184"+
53532 "\u0001\u0184\u0003\u0184\u15ca\b\u0184\u0001\u0184\u0001\u0184\u0001\u0184"+
53533 "\u0001\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0003\u0184"+
53534 "\u15d4\b\u0184\u0003\u0184\u15d6\b\u0184\u0003\u0184\u15d8\b\u0184\u0001"+
53535 "\u0184\u0001\u0184\u0001\u0184\u0003\u0184\u15dd\b\u0184\u0003\u0184\u15df"+
53536 "\b\u0184\u0003\u0184\u15e1\b\u0184\u0001\u0184\u0001\u0184\u0001\u0184"+
53537 "\u0001\u0184\u0003\u0184\u15e7\b\u0184\u0003\u0184\u15e9\b\u0184\u0001"+
53538 "\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0003\u0184\u15f0"+
53539 "\b\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0003\u0184\u15f6"+
53540 "\b\u0184\u0003\u0184\u15f8\b\u0184\u0003\u0184\u15fa\b\u0184\u0003\u0184"+
53541 "\u15fc\b\u0184\u0001\u0185\u0001\u0185\u0001\u0185\u0003\u0185\u1601\b"+
53542 "\u0185\u0001\u0185\u0001\u0185\u0003\u0185\u1605\b\u0185\u0001\u0185\u0001"+
53543 "\u0185\u0001\u0185\u0001\u0185\u0001\u0185\u0001\u0185\u0003\u0185\u160d"+
53544 "\b\u0185\u0003\u0185\u160f\b\u0185\u0001\u0186\u0001\u0186\u0001\u0186"+
53545 "\u0001\u0186\u0001\u0186\u0001\u0186\u0001\u0186\u0001\u0186\u0003\u0186"+
53546 "\u1619\b\u0186\u0003\u0186\u161b\b\u0186\u0001\u0186\u0001\u0186\u0003"+
53547 "\u0186\u161f\b\u0186\u0001\u0186\u0001\u0186\u0003\u0186\u1623\b\u0186"+
53548 "\u0003\u0186\u1625\b\u0186\u0001\u0187\u0001\u0187\u0001\u0187\u0003\u0187"+
53549 "\u162a\b\u0187\u0003\u0187\u162c\b\u0187\u0001\u0187\u0003\u0187\u162f"+
53550 "\b\u0187\u0001\u0188\u0001\u0188\u0001\u0188\u0001\u0188\u0001\u0188\u0005"+
53551 "\u0188\u1636\b\u0188\n\u0188\f\u0188\u1639\t\u0188\u0001\u0188\u0001\u0188"+
53552 "\u0001\u0189\u0001\u0189\u0001\u0189\u0001\u0189\u0001\u0189\u0003\u0189"+
53553 "\u1642\b\u0189\u0001\u018a\u0001\u018a\u0001\u018b\u0001\u018b\u0001\u018c"+
53554 "\u0001\u018c\u0001\u018c\u0001\u018d\u0001\u018d\u0001\u018d\u0003\u018d"+
53555 "\u164e\b\u018d\u0001\u018e\u0001\u018e\u0001\u018e\u0003\u018e\u1653\b"+
53556 "\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0005\u018e\u1659"+
53557 "\b\u018e\n\u018e\f\u018e\u165c\t\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
53558 "\u0003\u018e\u1661\b\u018e\u0001\u018e\u0001\u018e\u0003\u018e\u1665\b"+
53559 "\u018e\u0001\u018f\u0001\u018f\u0001\u018f\u0003\u018f\u166a\b\u018f\u0001"+
53560 "\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0005\u018f\u1670\b\u018f\n"+
53561 "\u018f\f\u018f\u1673\t\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0003"+
53562 "\u018f\u1678\b\u018f\u0001\u0190\u0001\u0190\u0003\u0190\u167c\b\u0190"+
53563 "\u0001\u0190\u0001\u0190\u0001\u0190\u0003\u0190\u1681\b\u0190\u0005\u0190"+
53564 "\u1683\b\u0190\n\u0190\f\u0190\u1686\t\u0190\u0001\u0191\u0001\u0191\u0001"+
53565 "\u0191\u0001\u0191\u0003\u0191\u168c\b\u0191\u0001\u0191\u0001\u0191\u0001"+
53566 "\u0192\u0001\u0192\u0001\u0192\u0005\u0192\u1693\b\u0192\n\u0192\f\u0192"+
53567 "\u1696\t\u0192\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0003\u0193"+
53568 "\u169c\b\u0193\u0001\u0193\u0001\u0193\u0001\u0194\u0001\u0194\u0001\u0194"+
53569 "\u0003\u0194\u16a3\b\u0194\u0001\u0194\u0001\u0194\u0001\u0195\u0001\u0195"+
53570 "\u0001\u0196\u0001\u0196\u0003\u0196\u16ab\b\u0196\u0001\u0196\u0001\u0196"+
53571 "\u0003\u0196\u16af\b\u0196\u0001\u0197\u0001\u0197\u0001\u0197\u0003\u0197"+
53572 "\u16b4\b\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0005\u0197"+
53573 "\u16ba\b\u0197\n\u0197\f\u0197\u16bd\t\u0197\u0001\u0197\u0003\u0197\u16c0"+
53574 "\b\u0197\u0001\u0197\u0001\u0197\u0003\u0197\u16c4\b\u0197\u0001\u0198"+
53575 "\u0001\u0198\u0001\u0198\u0003\u0198\u16c9\b\u0198\u0001\u0198\u0001\u0198"+
53576 "\u0001\u0198\u0001\u0198\u0005\u0198\u16cf\b\u0198\n\u0198\f\u0198\u16d2"+
53577 "\t\u0198\u0001\u0198\u0003\u0198\u16d5\b\u0198\u0001\u0199\u0001\u0199"+
53578 "\u0001\u0199\u0003\u0199\u16da\b\u0199\u0001\u019a\u0001\u019a\u0001\u019a"+
53579 "\u0003\u019a\u16df\b\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a"+
53580 "\u0005\u019a\u16e5\b\u019a\n\u019a\f\u019a\u16e8\t\u019a\u0001\u019a\u0003"+
53581 "\u019a\u16eb\b\u019a\u0001\u019a\u0001\u019a\u0003\u019a\u16ef\b\u019a"+
53582 "\u0001\u019b\u0001\u019b\u0001\u019b\u0003\u019b\u16f4\b\u019b\u0001\u019b"+
53583 "\u0001\u019b\u0001\u019b\u0001\u019b\u0005\u019b\u16fa\b\u019b\n\u019b"+
53584 "\f\u019b\u16fd\t\u019b\u0001\u019b\u0003\u019b\u1700\b\u019b\u0001\u019c"+
53585 "\u0001\u019c\u0001\u019c\u0001\u019c\u0001\u019d\u0001\u019d\u0003\u019d"+
53586 "\u1708\b\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d"+
53587 "\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d"+
53588 "\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d"+
53589 "\u0001\u019d\u0001\u019d\u0003\u019d\u171d\b\u019d\u0001\u019e\u0001\u019e"+
53590 "\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e"+
53591 "\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e"+
53592 "\u0001\u019e\u0001\u019e\u0003\u019e\u172f\b\u019e\u0001\u019f\u0001\u019f"+
53593 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53594 "\u0001\u019f\u0003\u019f\u173a\b\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53595 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53596 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53597 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0003\u019f\u174f\b\u019f"+
53598 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53599 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53600 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53601 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53602 "\u0003\u019f\u1769\b\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53603 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53604 "\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f"+
53605 "\u0001\u019f\u0001\u019f\u0001\u019f\u0003\u019f\u177e\b\u019f\u0001\u01a0"+
53606 "\u0001\u01a0\u0003\u01a0\u1782\b\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0"+
53607 "\u0003\u01a0\u1787\b\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0"+
53608 "\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0003\u01a0\u1790\b\u01a0\u0003\u01a0"+
53609 "\u1792\b\u01a0\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53610 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53611 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0003\u01a1"+
53612 "\u17a4\b\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53613 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53614 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53615 "\u0001\u01a1\u0003\u01a1\u17b8\b\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53616 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53617 "\u0003\u01a1\u17c3\b\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53618 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53619 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53620 "\u0001\u01a1\u0003\u01a1\u17d6\b\u01a1\u0001\u01a1\u0001\u01a1\u0003\u01a1"+
53621 "\u17da\b\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53622 "\u0001\u01a1\u0003\u01a1\u17e2\b\u01a1\u0001\u01a1\u0001\u01a1\u0003\u01a1"+
53623 "\u17e6\b\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53624 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0003\u01a1\u17f1\b\u01a1"+
53625 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53626 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53627 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53628 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53629 "\u0001\u01a1\u0001\u01a1\u0003\u01a1\u180d\b\u01a1\u0001\u01a1\u0001\u01a1"+
53630 "\u0001\u01a1\u0001\u01a1\u0003\u01a1\u1813\b\u01a1\u0001\u01a1\u0001\u01a1"+
53631 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53632 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53633 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53634 "\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53635 "\u0001\u01a1\u0003\u01a1\u1830\b\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1"+
53636 "\u0001\u01a1\u0001\u01a1\u0003\u01a1\u1837\b\u01a1\u0001\u01a1\u0001\u01a1"+
53637 "\u0003\u01a1\u183b\b\u01a1\u0001\u01a2\u0001\u01a2\u0001\u01a2\u0003\u01a2"+
53638 "\u1840\b\u01a2\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3"+
53639 "\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0003\u01a3\u184a\b\u01a3\u0001\u01a4"+
53640 "\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4"+
53641 "\u0001\u01a4\u0001\u01a4\u0003\u01a4\u1855\b\u01a4\u0001\u01a5\u0001\u01a5"+
53642 "\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5"+
53643 "\u0003\u01a5\u185f\b\u01a5\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6"+
53644 "\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0003\u01a6\u1868\b\u01a6\u0001\u01a7"+
53645 "\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7"+
53646 "\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7"+
53647 "\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7"+
53648 "\u0001\u01a7\u0003\u01a7\u187e\b\u01a7\u0001\u01a8\u0001\u01a8\u0001\u01a8"+
53649 "\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8"+
53650 "\u0001\u01a8\u0001\u01a8\u0003\u01a8\u188b\b\u01a8\u0001\u01a9\u0001\u01a9"+
53651 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0003\u01a9\u1892\b\u01a9\u0001\u01aa"+
53652 "\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa"+
53653 "\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0003\u01aa\u189e\b\u01aa\u0001\u01ab"+
53654 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
53655 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab\u18ab\b\u01ab"+
53656 "\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac"+
53657 "\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0003\u01ac"+
53658 "\u18b8\b\u01ac\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad"+
53659 "\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0003\u01ad\u18c3\b\u01ad"+
53660 "\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae"+
53661 "\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0003\u01ae\u18cf\b\u01ae"+
53662 "\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0003\u01af\u18d5\b\u01af"+
53663 "\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0003\u01af\u18db\b\u01af"+
53664 "\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0003\u01af\u18e1\b\u01af"+
53665 "\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0"+
53666 "\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0003\u01b0\u18ed\b\u01b0"+
53667 "\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1"+
53668 "\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0003\u01b1"+
53669 "\u18fa\b\u01b1\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2"+
53670 "\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2"+
53671 "\u0003\u01b2\u1907\b\u01b2\u0001\u01b3\u0001\u01b3\u0001\u01b3\u0001\u01b3"+
53672 "\u0001\u01b3\u0001\u01b3\u0001\u01b3\u0001\u01b3\u0001\u01b3\u0001\u01b3"+
53673 "\u0003\u01b3\u1913\b\u01b3\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4"+
53674 "\u0003\u01b4\u1919\b\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4"+
53675 "\u0003\u01b4\u191f\b\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4"+
53676 "\u0001\u01b4\u0003\u01b4\u1926\b\u01b4\u0001\u01b5\u0001\u01b5\u0003\u01b5"+
53677 "\u192a\b\u01b5\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6"+
53678 "\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6"+
53679 "\u0003\u01b6\u1937\b\u01b6\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7"+
53680 "\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7"+
53681 "\u0001\u01b7\u0003\u01b7\u1944\b\u01b7\u0001\u01b8\u0001\u01b8\u0001\u01b8"+
53682 "\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0003\u01b8\u194d\b\u01b8"+
53683 "\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9"+
53684 "\u0001\u01b9\u0001\u01b9\u0003\u01b9\u1957\b\u01b9\u0001\u01ba\u0001\u01ba"+
53685 "\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bc\u0001\u01bc"+
53686 "\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc"+
53687 "\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc"+
53688 "\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc"+
53689 "\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc"+
53690 "\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc"+
53691 "\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc"+
53692 "\u0001\u01bc\u0001\u01bc\u0003\u01bc\u1987\b\u01bc\u0001\u01bd\u0001\u01bd"+
53693 "\u0001\u01be\u0001\u01be\u0001\u01bf\u0001\u01bf\u0001\u01bf\u0001\u01bf"+
53694 "\u0003\u01bf\u1991\b\u01bf\u0003\u01bf\u1993\b\u01bf\u0001\u01c0\u0001"+
53695 "\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001"+
53696 "\u01c0\u0001\u01c0\u0001\u01c0\u0003\u01c0\u199f\b\u01c0\u0001\u01c1\u0001"+
53697 "\u01c1\u0001\u01c1\u0001\u01c1\u0003\u01c1\u19a5\b\u01c1\u0001\u01c1\u0001"+
53698 "\u01c1\u0001\u01c1\u0001\u01c1\u0005\u01c1\u19ab\b\u01c1\n\u01c1\f\u01c1"+
53699 "\u19ae\t\u01c1\u0003\u01c1\u19b0\b\u01c1\u0001\u01c2\u0001\u01c2\u0001"+
53700 "\u01c2\u0001\u01c2\u0001\u01c2\u0005\u01c2\u19b7\b\u01c2\n\u01c2\f\u01c2"+
53701 "\u19ba\t\u01c2\u0003\u01c2\u19bc\b\u01c2\u0001\u01c2\u0001\u01c2\u0001"+
53702 "\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001"+
53703 "\u01c2\u0005\u01c2\u19c7\b\u01c2\n\u01c2\f\u01c2\u19ca\t\u01c2\u0003\u01c2"+
53704 "\u19cc\b\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2"+
53705 "\u0003\u01c2\u19d3\b\u01c2\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3"+
53706 "\u0003\u01c3\u19d9\b\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3"+
53707 "\u0001\u01c3\u0003\u01c3\u19e0\b\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3"+
53708 "\u0001\u01c3\u0005\u01c3\u19e6\b\u01c3\n\u01c3\f\u01c3\u19e9\t\u01c3\u0003"+
53709 "\u01c3\u19eb\b\u01c3\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0001"+
53710 "\u01c4\u0001\u01c4\u0001\u01c4\u0005\u01c4\u19f4\b\u01c4\n\u01c4\f\u01c4"+
53711 "\u19f7\t\u01c4\u0003\u01c4\u19f9\b\u01c4\u0001\u01c4\u0001\u01c4\u0001"+
53712 "\u01c4\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0003\u01c4\u1a02"+
53713 "\b\u01c4\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001"+
53714 "\u01c5\u0001\u01c5\u0003\u01c5\u1a0b\b\u01c5\u0001\u01c5\u0001\u01c5\u0001"+
53715 "\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0003\u01c5\u1a13\b\u01c5\u0003"+
53716 "\u01c5\u1a15\b\u01c5\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001"+
53717 "\u01c6\u0001\u01c6\u0001\u01c6\u0003\u01c6\u1a1e\b\u01c6\u0001\u01c6\u0001"+
53718 "\u01c6\u0001\u01c6\u0003\u01c6\u1a23\b\u01c6\u0003\u01c6\u1a25\b\u01c6"+
53719 "\u0001\u01c7\u0001\u01c7\u0001\u01c7\u0001\u01c7\u0003\u01c7\u1a2b\b\u01c7"+
53720 "\u0001\u01c7\u0001\u01c7\u0001\u01c7\u0001\u01c7\u0001\u01c7\u0001\u01c7"+
53721 "\u0001\u01c7\u0005\u01c7\u1a34\b\u01c7\n\u01c7\f\u01c7\u1a37\t\u01c7\u0003"+
53722 "\u01c7\u1a39\b\u01c7\u0003\u01c7\u1a3b\b\u01c7\u0001\u01c8\u0001\u01c8"+
53723 "\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0003\u01c8\u1a43\b\u01c8"+
53724 "\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0003\u01c8\u1a49\b\u01c8"+
53725 "\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9"+
53726 "\u0001\u01c9\u0001\u01c9\u0003\u01c9\u1a53\b\u01c9\u0001\u01ca\u0001\u01ca"+
53727 "\u0001\u01cb\u0001\u01cb\u0001\u01cc\u0001\u01cc\u0001\u01cd\u0001\u01cd"+
53728 "\u0001\u01cd\u0003\u01cd\u1a5e\b\u01cd\u0001\u01ce\u0001\u01ce\u0001\u01ce"+
53729 "\u0003\u01ce\u1a63\b\u01ce\u0001\u01ce\u0001\u01ce\u0001\u01cf\u0001\u01cf"+
53730 "\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0005\u01cf"+
53731 "\u1a6e\b\u01cf\n\u01cf\f\u01cf\u1a71\t\u01cf\u0001\u01cf\u0001\u01cf\u0001"+
53732 "\u01cf\u0003\u01cf\u1a76\b\u01cf\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001"+
53733 "\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0003\u01d0\u1a7f\b\u01d0\u0001"+
53734 "\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001"+
53735 "\u01d0\u0001\u01d0\u0001\u01d0\u0003\u01d0\u1a8a\b\u01d0\u0001\u01d0\u0001"+
53736 "\u01d0\u0001\u01d0\u0001\u01d0\u0003\u01d0\u1a90\b\u01d0\u0001\u01d0\u0001"+
53737 "\u01d0\u0001\u01d0\u0003\u01d0\u1a95\b\u01d0\u0003\u01d0\u1a97\b\u01d0"+
53738 "\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0003\u01d1"+
53739 "\u1a9e\b\u01d1\u0001\u01d2\u0001\u01d2\u0001\u01d2\u0003\u01d2\u1aa3\b"+
53740 "\u01d2\u0001\u01d2\u0001\u01d2\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001"+
53741 "\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001"+
53742 "\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0003\u01d3\u1ab4\b\u01d3\u0001"+
53743 "\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001"+
53744 "\u01d4\u0001\u01d4\u0003\u01d4\u1abe\b\u01d4\u0001\u01d5\u0001\u01d5\u0001"+
53745 "\u01d5\u0001\u01d5\u0003\u01d5\u1ac4\b\u01d5\u0001\u01d6\u0001\u01d6\u0001"+
53746 "\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0003\u01d6\u1acc\b\u01d6\u0001"+
53747 "\u01d6\u0003\u01d6\u1acf\b\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0001"+
53748 "\u01d6\u0005\u01d6\u1ad5\b\u01d6\n\u01d6\f\u01d6\u1ad8\t\u01d6\u0003\u01d6"+
53749 "\u1ada\b\u01d6\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7"+
53750 "\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7"+
53751 "\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7"+
53752 "\u0001\u01d7\u0003\u01d7\u1aee\b\u01d7\u0001\u01d8\u0001\u01d8\u0001\u01d9"+
53753 "\u0001\u01d9\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da"+
53754 "\u0005\u01da\u1af9\b\u01da\n\u01da\f\u01da\u1afc\t\u01da\u0003\u01da\u1afe"+
53755 "\b\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0003"+
53756 "\u01da\u1b05\b\u01da\u0001\u01db\u0001\u01db\u0001\u01db\u0001\u01db\u0001"+
53757 "\u01db\u0001\u01db\u0003\u01db\u1b0d\b\u01db\u0001\u01dc\u0001\u01dc\u0001"+
53758 "\u01dc\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0005\u01dc\u1b16"+
53759 "\b\u01dc\n\u01dc\f\u01dc\u1b19\t\u01dc\u0003\u01dc\u1b1b\b\u01dc\u0001"+
53760 "\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001"+
53761 "\u01dd\u0003\u01dd\u1b24\b\u01dd\u0001\u01de\u0001\u01de\u0001\u01de\u0003"+
53762 "\u01de\u1b29\b\u01de\u0001\u01de\u0001\u01de\u0001\u01de\u0001\u01de\u0005"+
53763 "\u01de\u1b2f\b\u01de\n\u01de\f\u01de\u1b32\t\u01de\u0001\u01df\u0001\u01df"+
53764 "\u0001\u01df\u0001\u01df\u0001\u01df\u0001\u01df\u0001\u01df\u0001\u01df"+
53765 "\u0001\u01df\u0001\u01df\u0001\u01df\u0001\u01df\u0003\u01df\u1b40\b\u01df"+
53766 "\u0001\u01e0\u0001\u01e0\u0001\u01e0\u0001\u01e1\u0001\u01e1\u0001\u01e1"+
53767 "\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0003\u01e1\u1b4c\b\u01e1"+
53768 "\u0001\u01e2\u0001\u01e2\u0001\u01e2\u0001\u01e2\u0003\u01e2\u1b52\b\u01e2"+
53769 "\u0001\u01e3\u0001\u01e3\u0001\u01e3\u0001\u01e3\u0003\u01e3\u1b58\b\u01e3"+
53770 "\u0001\u01e3\u0001\u01e3\u0001\u01e3\u0001\u01e3\u0005\u01e3\u1b5e\b\u01e3"+
53771 "\n\u01e3\f\u01e3\u1b61\t\u01e3\u0003\u01e3\u1b63\b\u01e3\u0001\u01e4\u0001"+
53772 "\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0003\u01e4\u1b6b"+
53773 "\b\u01e4\u0001\u01e5\u0001\u01e5\u0001\u01e5\u0001\u01e5\u0001\u01e6\u0001"+
53774 "\u01e6\u0001\u01e6\u0001\u01e6\u0001\u01e6\u0001\u01e6\u0001\u01e6\u0001"+
53775 "\u01e6\u0005\u01e6\u1b79\b\u01e6\n\u01e6\f\u01e6\u1b7c\t\u01e6\u0001\u01e6"+
53776 "\u0003\u01e6\u1b7f\b\u01e6\u0001\u01e7\u0001\u01e7\u0001\u01e8\u0001\u01e8"+
53777 "\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0003\u01e8\u1b89\b\u01e8"+
53778 "\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0003\u01e8"+
53779 "\u1b90\b\u01e8\u0003\u01e8\u1b92\b\u01e8\u0001\u01e8\u0001\u01e8\u0001"+
53780 "\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001"+
53781 "\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001"+
53782 "\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0003"+
53783 "\u01e8\u1ba8\b\u01e8\u0001\u01e9\u0001\u01e9\u0001\u01ea\u0001\u01ea\u0001"+
53784 "\u01ea\u0001\u01ea\u0001\u01ea\u0001\u01ea\u0003\u01ea\u1bb2\b\u01ea\u0001"+
53785 "\u01eb\u0001\u01eb\u0001\u01eb\u0001\u01eb\u0001\u01eb\u0003\u01eb\u1bb9"+
53786 "\b\u01eb\u0001\u01eb\u0000\u0004blrt\u01ec\u0000\u0002\u0004\u0006\b\n"+
53787 "\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.0246"+
53788 "8:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a"+
53789 "\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2"+
53790 "\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba"+
53791 "\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2"+
53792 "\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea"+
53793 "\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102"+
53794 "\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a"+
53795 "\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132"+
53796 "\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a"+
53797 "\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162"+
53798 "\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a"+
53799 "\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192"+
53800 "\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa"+
53801 "\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2"+
53802 "\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da"+
53803 "\u01dc\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2"+
53804 "\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a"+
53805 "\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222"+
53806 "\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a"+
53807 "\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c\u024e\u0250\u0252"+
53808 "\u0254\u0256\u0258\u025a\u025c\u025e\u0260\u0262\u0264\u0266\u0268\u026a"+
53809 "\u026c\u026e\u0270\u0272\u0274\u0276\u0278\u027a\u027c\u027e\u0280\u0282"+
53810 "\u0284\u0286\u0288\u028a\u028c\u028e\u0290\u0292\u0294\u0296\u0298\u029a"+
53811 "\u029c\u029e\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac\u02ae\u02b0\u02b2"+
53812 "\u02b4\u02b6\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4\u02c6\u02c8\u02ca"+
53813 "\u02cc\u02ce\u02d0\u02d2\u02d4\u02d6\u02d8\u02da\u02dc\u02de\u02e0\u02e2"+
53814 "\u02e4\u02e6\u02e8\u02ea\u02ec\u02ee\u02f0\u02f2\u02f4\u02f6\u02f8\u02fa"+
53815 "\u02fc\u02fe\u0300\u0302\u0304\u0306\u0308\u030a\u030c\u030e\u0310\u0312"+
53816 "\u0314\u0316\u0318\u031a\u031c\u031e\u0320\u0322\u0324\u0326\u0328\u032a"+
53817 "\u032c\u032e\u0330\u0332\u0334\u0336\u0338\u033a\u033c\u033e\u0340\u0342"+
53818 "\u0344\u0346\u0348\u034a\u034c\u034e\u0350\u0352\u0354\u0356\u0358\u035a"+
53819 "\u035c\u035e\u0360\u0362\u0364\u0366\u0368\u036a\u036c\u036e\u0370\u0372"+
53820 "\u0374\u0376\u0378\u037a\u037c\u037e\u0380\u0382\u0384\u0386\u0388\u038a"+
53821 "\u038c\u038e\u0390\u0392\u0394\u0396\u0398\u039a\u039c\u039e\u03a0\u03a2"+
53822 "\u03a4\u03a6\u03a8\u03aa\u03ac\u03ae\u03b0\u03b2\u03b4\u03b6\u03b8\u03ba"+
53823 "\u03bc\u03be\u03c0\u03c2\u03c4\u03c6\u03c8\u03ca\u03cc\u03ce\u03d0\u03d2"+
53824 "\u03d4\u03d6\u0000a\u0001\u0000ab\u0002\u0000\u0100\u0100\u013b\u013b"+
53825 "\u0002\u0000\u02ca\u02ca\u02d1\u02d1\u0001\u0000\u000f\u0010\u0001\u0000"+
53826 "\u0087\u0089\u0001\u0000mn4\u000056==EGRRTTbbvv{|\u0080\u0081\u0085\u0085"+
53827 "\u0087\u0087\u008a\u008b\u008d\u0090\u0093\u0099\u009c\u009d\u009f\u009f"+
53828 "\u00a1\u00a2\u00a4\u00a6\u00a9\u00aa\u00ad\u00ad\u00b0\u00b0\u00b8\u00b8"+
53829 "\u00c2\u00c2\u00cb\u00cc\u00d0\u00d1\u00d5\u00d5\u00ea\u00ea\u00ec\u00f2"+
53830 "\u00f4\u00f5\u00fe\u00ff\u0102\u0106\u0108\u0109\u010b\u0115\u0117\u011c"+
53831 "\u011e\u0126\u0128\u013c\u0144\u01b6\u01b8\u01b8\u01be\u01be\u01ca\u01cc"+
53832 "\u01f1\u0200\u0203\u0203\u0205\u020a\u020f\u020f\u0214\u0215\u0217\u0219"+
53833 "\u021b\u021d\u021f\u0228\u0233\u0294\u029d\u029d\u02a2\u02a2\u02a6\u02a6"+
53834 "\u0002\u0000\u02c8\u02c8\u02ca\u02ca\u0002\u0000\u0004\u0004hh\u0002\u0000"+
53835 "\u0005\u0005ii\u0002\u0000\u0006\u0006kk\u0002\u0000ln\u00f3\u00f3\u0001"+
53836 "\u0000rs\u0001\u0000\u0018\u001d\u0003\u0000\u0006\u0007\u000f\u0010\u00ea"+
53837 "\u00ea\u0001\u0000\u0095\u0099\u0001\u0000\u00f1\u00f2\u0002\u0000\u00a9"+
53838 "\u00a9\u01b8\u01b8\u0001\u0000xy\u0002\u0000\u0109\u0109\u0113\u0113\b"+
53839 "\u0000\u0083\u0083\u0087\u0088\u00ad\u00af\u00b1\u00b9\u00ea\u00ea\u015d"+
53840 "\u015d\u01ba\u01c9\u02c8\u02c8\u0002\u0000\u00f2\u00f2\u0131\u0131\u0002"+
53841 "\u0000\u0195\u0195\u01a6\u01a6\u0005\u0000\u00f1\u00f1\u0108\u0108\u0127"+
53842 "\u0127\u012b\u012b\u0192\u0192\t\u0000\u0129\u0129\u0135\u0135\u018e\u018f"+
53843 "\u0195\u0195\u019e\u019f\u01a3\u01a4\u01a9\u01a9\u01b5\u01b5\u01eb\u01eb"+
53844 "\u0003\u0000\u0104\u0104\u0127\u0127\u0138\u0138\u0001\u0000\u013e\u013f"+
53845 "\u0002\u0000\u00b0\u00b0\u0128\u0128\u0003\u0000\u00d8\u00e8\u0214\u0214"+
53846 "\u0217\u0217\u0001\u0000HI\u0002\u0000\u00ba\u00ba\u00f2\u00f2\u0002\u0000"+
53847 "\u00ff\u00ff\u0116\u0116\u0002\u0000\u0111\u0111\u0130\u0130\u0001\u0000"+
53848 "\u0105\u0106\u0001\u000001\u0002\u0000ll\u009a\u009a\u0003\u0000\u00f1"+
53849 "\u00f1\u0127\u0127\u012b\u012b\u0002\u0000\u011e\u011f\u012c\u012c\u0001"+
53850 "\u0000\u01a1\u01a2\u0001\u0000[\\\u0002\u0000\u00f7\u00f7\u0126\u0126"+
53851 "\u0001\u0000\u009c\u009d\u0003\u0000\u008c\u008c\u008e\u0090\u010b\u010e"+
53852 "\u0003\u0000;;\u009d\u009d\u0103\u0103\u0002\u0000\u0127\u0127\u01f0\u01f0"+
53853 "\u0003\u0000XXbb\u00cb\u00cb\u0001\u0000\u01f6\u01f9\u0002\u0000\r\r\u01f6"+
53854 "\u01f9\u0001\u0000\u0200\u0201\u0001\u0000\u0202\u0205\u0002\u0000\u00cb"+
53855 "\u00cb\u0206\u0207\u0003\u0000\u00d3\u00d3\u01ca\u01ca\u020e\u020e\u0003"+
53856 "\u0000\u016e\u016e\u0209\u0209\u0219\u0219\u0002\u0000\u00ff\u00ff\u0222"+
53857 "\u0222\u0002\u0000rr\u00f9\u00f9\u0001\u0000\u0282\u0283\u0001\u0000\u01f7"+
53858 "\u01f8\u0003\u0000ab\u0226\u0226\u027c\u027c\u0002\u0000\u0129\u0129\u027a"+
53859 "\u027b\u0002\u0000\u00cb\u00cb\u0231\u0231\u0001\u0000\u0277\u0279\u0002"+
53860 "\u0000\u00c9\u00c9\u0274\u0275\u0001\u0000\u00c8\u00c9\u0001\u0000\u022e"+
53861 "\u022f\u0002\u0000\u00d3\u00d3\u0230\u0230\u0002\u0000\u010e\u010f\u0264"+
53862 "\u0264\u0002\u0000\u00a6\u00a6\u0262\u0262\u0002\u0000bb\u0103\u0103\u0004"+
53863 "\u0000rr\u0103\u0103\u0127\u0127\u025d\u025d\u0002\u0000\u010e\u010e\u0264"+
53864 "\u0264\u0003\u0000XX\u00c8\u00c8\u024e\u024e\u0002\u0000\u0127\u0127\u024c"+
53865 "\u024d\u0002\u0000\u010f\u010f\u0238\u0238\u0002\u0000OOrr\u0002\u0000"+
53866 "YY]]\u0002\u0000XX[\\\u0002\u0000ZZ]]\u0001\u0000\u01cb\u01cc\u0002\u0000"+
53867 "uu\u011b\u011b\u0003\u0000\u00bf\u00bf\u011b\u011b\u0145\u0145\u0002\u0000"+
53868 "\u00bf\u00c0\u011b\u011b\u0002\u0000\u009d\u009d\u00c4\u00c4\u0001\u0000"+
53869 "\u02b5\u02b6\u0002\u0000\u0103\u0103\u02b8\u02b8\u0002\u0000UUgg\u0002"+
53870 "\u0000\u00cc\u00cc\u0148\u0148\u0002\u0000\u0140\u0140\u0159\u0159\u0002"+
53871 "\u0000\u00cc\u00cc\u0186\u0186\u0001\u0000\u014b\u014c\u0001\u0000\u016e"+
53872 "\u016f\u0002\u0000\u00cc\u00cc\u014d\u014d\u0002\u0000..\u013e\u013e\u0002"+
53873 "\u0000\u0143\u0143\u02a1\u02a1\u0005\u000066\u00cc\u00cc\u00fd\u00fe\u0122"+
53874 "\u0122\u0128\u0128\u0002\u0000UUff\u0002\u0000\u02cf\u02cf\u02d1\u02d1"+
53875 "\u0002\u0000\u02a8\u02a8\u02ad\u02ad\u1f9e\u0000\u0413\u0001\u0000\u0000"+
53876 "\u0000\u0002\u0418\u0001\u0000\u0000\u0000\u0004\u0426\u0001\u0000\u0000"+
53877 "\u0000\u0006\u0428\u0001\u0000\u0000\u0000\b\u042c\u0001\u0000\u0000\u0000"+
53878 "\n\u042e\u0001\u0000\u0000\u0000\f\u043e\u0001\u0000\u0000\u0000\u000e"+
53879 "\u0445\u0001\u0000\u0000\u0000\u0010\u0455\u0001\u0000\u0000\u0000\u0012"+
53880 "\u0459\u0001\u0000\u0000\u0000\u0014\u0461\u0001\u0000\u0000\u0000\u0016"+
53881 "\u0465\u0001\u0000\u0000\u0000\u0018\u046b\u0001\u0000\u0000\u0000\u001a"+
53882 "\u0474\u0001\u0000\u0000\u0000\u001c\u0476\u0001\u0000\u0000\u0000\u001e"+
53883 "\u0479\u0001\u0000\u0000\u0000 \u0484\u0001\u0000\u0000\u0000\"\u0486"+
53884 "\u0001\u0000\u0000\u0000$\u0488\u0001\u0000\u0000\u0000&\u048a\u0001\u0000"+
53885 "\u0000\u0000(\u048c\u0001\u0000\u0000\u0000*\u0490\u0001\u0000\u0000\u0000"+
53886 ",\u0494\u0001\u0000\u0000\u0000.\u0496\u0001\u0000\u0000\u00000\u0498"+
53887 "\u0001\u0000\u0000\u00002\u049a\u0001\u0000\u0000\u00004\u049c\u0001\u0000"+
53888 "\u0000\u00006\u04a1\u0001\u0000\u0000\u00008\u04a8\u0001\u0000\u0000\u0000"+
53889 ":\u04b2\u0001\u0000\u0000\u0000<\u04b9\u0001\u0000\u0000\u0000>\u04c0"+
53890 "\u0001\u0000\u0000\u0000@\u04d0\u0001\u0000\u0000\u0000B\u04d7\u0001\u0000"+
53891 "\u0000\u0000D\u04db\u0001\u0000\u0000\u0000F\u04dd\u0001\u0000\u0000\u0000"+
53892 "H\u04e2\u0001\u0000\u0000\u0000J\u04e8\u0001\u0000\u0000\u0000L\u04ed"+
53893 "\u0001\u0000\u0000\u0000N\u04ef\u0001\u0000\u0000\u0000P\u04f1\u0001\u0000"+
53894 "\u0000\u0000R\u04fc\u0001\u0000\u0000\u0000T\u0508\u0001\u0000\u0000\u0000"+
53895 "V\u0515\u0001\u0000\u0000\u0000X\u0517\u0001\u0000\u0000\u0000Z\u0519"+
53896 "\u0001\u0000\u0000\u0000\\\u051d\u0001\u0000\u0000\u0000^\u051f\u0001"+
53897 "\u0000\u0000\u0000`\u052a\u0001\u0000\u0000\u0000b\u0537\u0001\u0000\u0000"+
53898 "\u0000d\u054a\u0001\u0000\u0000\u0000f\u054c\u0001\u0000\u0000\u0000h"+
53899 "\u054e\u0001\u0000\u0000\u0000j\u0555\u0001\u0000\u0000\u0000l\u0557\u0001"+
53900 "\u0000\u0000\u0000n\u0571\u0001\u0000\u0000\u0000p\u059e\u0001\u0000\u0000"+
53901 "\u0000r\u05a0\u0001\u0000\u0000\u0000t\u05e7\u0001\u0000\u0000\u0000v"+
53902 "\u05f4\u0001\u0000\u0000\u0000x\u05f6\u0001\u0000\u0000\u0000z\u0608\u0001"+
53903 "\u0000\u0000\u0000|\u060a\u0001\u0000\u0000\u0000~\u0611\u0001\u0000\u0000"+
53904 "\u0000\u0080\u0613\u0001\u0000\u0000\u0000\u0082\u061a\u0001\u0000\u0000"+
53905 "\u0000\u0084\u0625\u0001\u0000\u0000\u0000\u0086\u0635\u0001\u0000\u0000"+
53906 "\u0000\u0088\u0640\u0001\u0000\u0000\u0000\u008a\u064c\u0001\u0000\u0000"+
53907 "\u0000\u008c\u0676\u0001\u0000\u0000\u0000\u008e\u0678\u0001\u0000\u0000"+
53908 "\u0000\u0090\u0691\u0001\u0000\u0000\u0000\u0092\u0693\u0001\u0000\u0000"+
53909 "\u0000\u0094\u06a1\u0001\u0000\u0000\u0000\u0096\u06a6\u0001\u0000\u0000"+
53910 "\u0000\u0098\u06ad\u0001\u0000\u0000\u0000\u009a\u06af\u0001\u0000\u0000"+
53911 "\u0000\u009c\u06c9\u0001\u0000\u0000\u0000\u009e\u06d5\u0001\u0000\u0000"+
53912 "\u0000\u00a0\u06e5\u0001\u0000\u0000\u0000\u00a2\u06e7\u0001\u0000\u0000"+
53913 "\u0000\u00a4\u06ef\u0001\u0000\u0000\u0000\u00a6\u06fb\u0001\u0000\u0000"+
53914 "\u0000\u00a8\u0708\u0001\u0000\u0000\u0000\u00aa\u070b\u0001\u0000\u0000"+
53915 "\u0000\u00ac\u0718\u0001\u0000\u0000\u0000\u00ae\u0722\u0001\u0000\u0000"+
53916 "\u0000\u00b0\u0727\u0001\u0000\u0000\u0000\u00b2\u0729\u0001\u0000\u0000"+
53917 "\u0000\u00b4\u0730\u0001\u0000\u0000\u0000\u00b6\u0738\u0001\u0000\u0000"+
53918 "\u0000\u00b8\u0740\u0001\u0000\u0000\u0000\u00ba\u0742\u0001\u0000\u0000"+
53919 "\u0000\u00bc\u0753\u0001\u0000\u0000\u0000\u00be\u0755\u0001\u0000\u0000"+
53920 "\u0000\u00c0\u0759\u0001\u0000\u0000\u0000\u00c2\u075e\u0001\u0000\u0000"+
53921 "\u0000\u00c4\u0761\u0001\u0000\u0000\u0000\u00c6\u0763\u0001\u0000\u0000"+
53922 "\u0000\u00c8\u0766\u0001\u0000\u0000\u0000\u00ca\u076c\u0001\u0000\u0000"+
53923 "\u0000\u00cc\u0776\u0001\u0000\u0000\u0000\u00ce\u0778\u0001\u0000\u0000"+
53924 "\u0000\u00d0\u077c\u0001\u0000\u0000\u0000\u00d2\u078a\u0001\u0000\u0000"+
53925 "\u0000\u00d4\u0791\u0001\u0000\u0000\u0000\u00d6\u0793\u0001\u0000\u0000"+
53926 "\u0000\u00d8\u079b\u0001\u0000\u0000\u0000\u00da\u079d\u0001\u0000\u0000"+
53927 "\u0000\u00dc\u079f\u0001\u0000\u0000\u0000\u00de\u07a7\u0001\u0000\u0000"+
53928 "\u0000\u00e0\u07a9\u0001\u0000\u0000\u0000\u00e2\u07ab\u0001\u0000\u0000"+
53929 "\u0000\u00e4\u07ad\u0001\u0000\u0000\u0000\u00e6\u07af\u0001\u0000\u0000"+
53930 "\u0000\u00e8\u07b1\u0001\u0000\u0000\u0000\u00ea\u07b4\u0001\u0000\u0000"+
53931 "\u0000\u00ec\u07b6\u0001\u0000\u0000\u0000\u00ee\u07b8\u0001\u0000\u0000"+
53932 "\u0000\u00f0\u07c3\u0001\u0000\u0000\u0000\u00f2\u07c7\u0001\u0000\u0000"+
53933 "\u0000\u00f4\u07c9\u0001\u0000\u0000\u0000\u00f6\u07cf\u0001\u0000\u0000"+
53934 "\u0000\u00f8\u07d8\u0001\u0000\u0000\u0000\u00fa\u07dd\u0001\u0000\u0000"+
53935 "\u0000\u00fc\u07e7\u0001\u0000\u0000\u0000\u00fe\u07f1\u0001\u0000\u0000"+
53936 "\u0000\u0100\u07fa\u0001\u0000\u0000\u0000\u0102\u0805\u0001\u0000\u0000"+
53937 "\u0000\u0104\u080e\u0001\u0000\u0000\u0000\u0106\u081b\u0001\u0000\u0000"+
53938 "\u0000\u0108\u0824\u0001\u0000\u0000\u0000\u010a\u082f\u0001\u0000\u0000"+
53939 "\u0000\u010c\u0839\u0001\u0000\u0000\u0000\u010e\u0845\u0001\u0000\u0000"+
53940 "\u0000\u0110\u084b\u0001\u0000\u0000\u0000\u0112\u0851\u0001\u0000\u0000"+
53941 "\u0000\u0114\u0856\u0001\u0000\u0000\u0000\u0116\u085d\u0001\u0000\u0000"+
53942 "\u0000\u0118\u0866\u0001\u0000\u0000\u0000\u011a\u0871\u0001\u0000\u0000"+
53943 "\u0000\u011c\u087a\u0001\u0000\u0000\u0000\u011e\u0881\u0001\u0000\u0000"+
53944 "\u0000\u0120\u088a\u0001\u0000\u0000\u0000\u0122\u0897\u0001\u0000\u0000"+
53945 "\u0000\u0124\u08a4\u0001\u0000\u0000\u0000\u0126\u08b1\u0001\u0000\u0000"+
53946 "\u0000\u0128\u08be\u0001\u0000\u0000\u0000\u012a\u08d3\u0001\u0000\u0000"+
53947 "\u0000\u012c\u08e0\u0001\u0000\u0000\u0000\u012e\u08e4\u0001\u0000\u0000"+
53948 "\u0000\u0130\u08eb\u0001\u0000\u0000\u0000\u0132\u08ef\u0001\u0000\u0000"+
53949 "\u0000\u0134\u0905\u0001\u0000\u0000\u0000\u0136\u0926\u0001\u0000\u0000"+
53950 "\u0000\u0138\u092c\u0001\u0000\u0000\u0000\u013a\u093d\u0001\u0000\u0000"+
53951 "\u0000\u013c\u0941\u0001\u0000\u0000\u0000\u013e\u0943\u0001\u0000\u0000"+
53952 "\u0000\u0140\u0947\u0001\u0000\u0000\u0000\u0142\u095b\u0001\u0000\u0000"+
53953 "\u0000\u0144\u095d\u0001\u0000\u0000\u0000\u0146\u099e\u0001\u0000\u0000"+
53954 "\u0000\u0148\u09a0\u0001\u0000\u0000\u0000\u014a\u09b0\u0001\u0000\u0000"+
53955 "\u0000\u014c\u09b9\u0001\u0000\u0000\u0000\u014e\u09c2\u0001\u0000\u0000"+
53956 "\u0000\u0150\u09df\u0001\u0000\u0000\u0000\u0152\u09e3\u0001\u0000\u0000"+
53957 "\u0000\u0154\u09ea\u0001\u0000\u0000\u0000\u0156\u09f2\u0001\u0000\u0000"+
53958 "\u0000\u0158\u09f4\u0001\u0000\u0000\u0000\u015a\u0a08\u0001\u0000\u0000"+
53959 "\u0000\u015c\u0a0a\u0001\u0000\u0000\u0000\u015e\u0a10\u0001\u0000\u0000"+
53960 "\u0000\u0160\u0a13\u0001\u0000\u0000\u0000\u0162\u0a1c\u0001\u0000\u0000"+
53961 "\u0000\u0164\u0a1e\u0001\u0000\u0000\u0000\u0166\u0a27\u0001\u0000\u0000"+
53962 "\u0000\u0168\u0a3d\u0001\u0000\u0000\u0000\u016a\u0a44\u0001\u0000\u0000"+
53963 "\u0000\u016c\u0a46\u0001\u0000\u0000\u0000\u016e\u0a50\u0001\u0000\u0000"+
53964 "\u0000\u0170\u0a5e\u0001\u0000\u0000\u0000\u0172\u0a6d\u0001\u0000\u0000"+
53965 "\u0000\u0174\u0a6f\u0001\u0000\u0000\u0000\u0176\u0a72\u0001\u0000\u0000"+
53966 "\u0000\u0178\u0a80\u0001\u0000\u0000\u0000\u017a\u0a82\u0001\u0000\u0000"+
53967 "\u0000\u017c\u0a8f\u0001\u0000\u0000\u0000\u017e\u0a97\u0001\u0000\u0000"+
53968 "\u0000\u0180\u0a9e\u0001\u0000\u0000\u0000\u0182\u0aa5\u0001\u0000\u0000"+
53969 "\u0000\u0184\u0aa8\u0001\u0000\u0000\u0000\u0186\u0ab1\u0001\u0000\u0000"+
53970 "\u0000\u0188\u0ab6\u0001\u0000\u0000\u0000\u018a\u0abc\u0001\u0000\u0000"+
53971 "\u0000\u018c\u0ac8\u0001\u0000\u0000\u0000\u018e\u0ae0\u0001\u0000\u0000"+
53972 "\u0000\u0190\u0ae2\u0001\u0000\u0000\u0000\u0192\u0aed\u0001\u0000\u0000"+
53973 "\u0000\u0194\u0b00\u0001\u0000\u0000\u0000\u0196\u0b07\u0001\u0000\u0000"+
53974 "\u0000\u0198\u0b16\u0001\u0000\u0000\u0000\u019a\u0b53\u0001\u0000\u0000"+
53975 "\u0000\u019c\u0b55\u0001\u0000\u0000\u0000\u019e\u0b61\u0001\u0000\u0000"+
53976 "\u0000\u01a0\u0b73\u0001\u0000\u0000\u0000\u01a2\u0b79\u0001\u0000\u0000"+
53977 "\u0000\u01a4\u0b8b\u0001\u0000\u0000\u0000\u01a6\u0b8d\u0001\u0000\u0000"+
53978 "\u0000\u01a8\u0bb4\u0001\u0000\u0000\u0000\u01aa\u0bb6\u0001\u0000\u0000"+
53979 "\u0000\u01ac\u0bcc\u0001\u0000\u0000\u0000\u01ae\u0bda\u0001\u0000\u0000"+
53980 "\u0000\u01b0\u0bde\u0001\u0000\u0000\u0000\u01b2\u0be5\u0001\u0000\u0000"+
53981 "\u0000\u01b4\u0bf3\u0001\u0000\u0000\u0000\u01b6\u0bf7\u0001\u0000\u0000"+
53982 "\u0000\u01b8\u0c05\u0001\u0000\u0000\u0000\u01ba\u0c09\u0001\u0000\u0000"+
53983 "\u0000\u01bc\u0c18\u0001\u0000\u0000\u0000\u01be\u0c1a\u0001\u0000\u0000"+
53984 "\u0000\u01c0\u0c24\u0001\u0000\u0000\u0000\u01c2\u0c38\u0001\u0000\u0000"+
53985 "\u0000\u01c4\u0c42\u0001\u0000\u0000\u0000\u01c6\u0c4f\u0001\u0000\u0000"+
53986 "\u0000\u01c8\u0c53\u0001\u0000\u0000\u0000\u01ca\u0c70\u0001\u0000\u0000"+
53987 "\u0000\u01cc\u0c72\u0001\u0000\u0000\u0000\u01ce\u0c74\u0001\u0000\u0000"+
53988 "\u0000\u01d0\u0c80\u0001\u0000\u0000\u0000\u01d2\u0c8d\u0001\u0000\u0000"+
53989 "\u0000\u01d4\u0c95\u0001\u0000\u0000\u0000\u01d6\u0c9b\u0001\u0000\u0000"+
53990 "\u0000\u01d8\u0cad\u0001\u0000\u0000\u0000\u01da\u0cb5\u0001\u0000\u0000"+
53991 "\u0000\u01dc\u0cbc\u0001\u0000\u0000\u0000\u01de\u0cc5\u0001\u0000\u0000"+
53992 "\u0000\u01e0\u0cd4\u0001\u0000\u0000\u0000\u01e2\u0cdb\u0001\u0000\u0000"+
53993 "\u0000\u01e4\u0ce4\u0001\u0000\u0000\u0000\u01e6\u0ce6\u0001\u0000\u0000"+
53994 "\u0000\u01e8\u0ceb\u0001\u0000\u0000\u0000\u01ea\u0cee\u0001\u0000\u0000"+
53995 "\u0000\u01ec\u0cf9\u0001\u0000\u0000\u0000\u01ee\u0cfb\u0001\u0000\u0000"+
53996 "\u0000\u01f0\u0d1b\u0001\u0000\u0000\u0000\u01f2\u0d1d\u0001\u0000\u0000"+
53997 "\u0000\u01f4\u0d2c\u0001\u0000\u0000\u0000\u01f6\u0d40\u0001\u0000\u0000"+
53998 "\u0000\u01f8\u0d77\u0001\u0000\u0000\u0000\u01fa\u0d7f\u0001\u0000\u0000"+
53999 "\u0000\u01fc\u0d81\u0001\u0000\u0000\u0000\u01fe\u0d93\u0001\u0000\u0000"+
54000 "\u0000\u0200\u0daa\u0001\u0000\u0000\u0000\u0202\u0dc0\u0001\u0000\u0000"+
54001 "\u0000\u0204\u0dcc\u0001\u0000\u0000\u0000\u0206\u0dce\u0001\u0000\u0000"+
54002 "\u0000\u0208\u0de6\u0001\u0000\u0000\u0000\u020a\u0de8\u0001\u0000\u0000"+
54003 "\u0000\u020c\u0dee\u0001\u0000\u0000\u0000\u020e\u0dfc\u0001\u0000\u0000"+
54004 "\u0000\u0210\u0dfe\u0001\u0000\u0000\u0000\u0212\u0e2c\u0001\u0000\u0000"+
54005 "\u0000\u0214\u0e40\u0001\u0000\u0000\u0000\u0216\u0e42\u0001\u0000\u0000"+
54006 "\u0000\u0218\u0e5d\u0001\u0000\u0000\u0000\u021a\u0e72\u0001\u0000\u0000"+
54007 "\u0000\u021c\u0e75\u0001\u0000\u0000\u0000\u021e\u0e90\u0001\u0000\u0000"+
54008 "\u0000\u0220\u0e92\u0001\u0000\u0000\u0000\u0222\u0eae\u0001\u0000\u0000"+
54009 "\u0000\u0224\u0eb0\u0001\u0000\u0000\u0000\u0226\u0ec7\u0001\u0000\u0000"+
54010 "\u0000\u0228\u0edf\u0001\u0000\u0000\u0000\u022a\u0ef8\u0001\u0000\u0000"+
54011 "\u0000\u022c\u0f03\u0001\u0000\u0000\u0000\u022e\u0f1f\u0001\u0000\u0000"+
54012 "\u0000\u0230\u0f2b\u0001\u0000\u0000\u0000\u0232\u0f38\u0001\u0000\u0000"+
54013 "\u0000\u0234\u0f3a\u0001\u0000\u0000\u0000\u0236\u0f46\u0001\u0000\u0000"+
54014 "\u0000\u0238\u0f4f\u0001\u0000\u0000\u0000\u023a\u0f5f\u0001\u0000\u0000"+
54015 "\u0000\u023c\u0f84\u0001\u0000\u0000\u0000\u023e\u0f9c\u0001\u0000\u0000"+
54016 "\u0000\u0240\u0fa7\u0001\u0000\u0000\u0000\u0242\u0fb3\u0001\u0000\u0000"+
54017 "\u0000\u0244\u0fb5\u0001\u0000\u0000\u0000\u0246\u0fbe\u0001\u0000\u0000"+
54018 "\u0000\u0248\u0fd6\u0001\u0000\u0000\u0000\u024a\u1005\u0001\u0000\u0000"+
54019 "\u0000\u024c\u1007\u0001\u0000\u0000\u0000\u024e\u1012\u0001\u0000\u0000"+
54020 "\u0000\u0250\u1030\u0001\u0000\u0000\u0000\u0252\u1034\u0001\u0000\u0000"+
54021 "\u0000\u0254\u105a\u0001\u0000\u0000\u0000\u0256\u1073\u0001\u0000\u0000"+
54022 "\u0000\u0258\u10b3\u0001\u0000\u0000\u0000\u025a\u10f8\u0001\u0000\u0000"+
54023 "\u0000\u025c\u10fa\u0001\u0000\u0000\u0000\u025e\u1105\u0001\u0000\u0000"+
54024 "\u0000\u0260\u111c\u0001\u0000\u0000\u0000\u0262\u1128\u0001\u0000\u0000"+
54025 "\u0000\u0264\u1160\u0001\u0000\u0000\u0000\u0266\u116e\u0001\u0000\u0000"+
54026 "\u0000\u0268\u117d\u0001\u0000\u0000\u0000\u026a\u1187\u0001\u0000\u0000"+
54027 "\u0000\u026c\u11b4\u0001\u0000\u0000\u0000\u026e\u11ba\u0001\u0000\u0000"+
54028 "\u0000\u0270\u11d2\u0001\u0000\u0000\u0000\u0272\u11d6\u0001\u0000\u0000"+
54029 "\u0000\u0274\u11f8\u0001\u0000\u0000\u0000\u0276\u11fa\u0001\u0000\u0000"+
54030 "\u0000\u0278\u1219\u0001\u0000\u0000\u0000\u027a\u121b\u0001\u0000\u0000"+
54031 "\u0000\u027c\u1222\u0001\u0000\u0000\u0000\u027e\u123f\u0001\u0000\u0000"+
54032 "\u0000\u0280\u1245\u0001\u0000\u0000\u0000\u0282\u125a\u0001\u0000\u0000"+
54033 "\u0000\u0284\u125c\u0001\u0000\u0000\u0000\u0286\u129e\u0001\u0000\u0000"+
54034 "\u0000\u0288\u12ad\u0001\u0000\u0000\u0000\u028a\u12b5\u0001\u0000\u0000"+
54035 "\u0000\u028c\u12cc\u0001\u0000\u0000\u0000\u028e\u12d5\u0001\u0000\u0000"+
54036 "\u0000\u0290\u12dd\u0001\u0000\u0000\u0000\u0292\u12df\u0001\u0000\u0000"+
54037 "\u0000\u0294\u12ed\u0001\u0000\u0000\u0000\u0296\u12ef\u0001\u0000\u0000"+
54038 "\u0000\u0298\u12fa\u0001\u0000\u0000\u0000\u029a\u130b\u0001\u0000\u0000"+
54039 "\u0000\u029c\u1314\u0001\u0000\u0000\u0000\u029e\u131b\u0001\u0000\u0000"+
54040 "\u0000\u02a0\u131f\u0001\u0000\u0000\u0000\u02a2\u1321\u0001\u0000\u0000"+
54041 "\u0000\u02a4\u132c\u0001\u0000\u0000\u0000\u02a6\u133f\u0001\u0000\u0000"+
54042 "\u0000\u02a8\u135b\u0001\u0000\u0000\u0000\u02aa\u135e\u0001\u0000\u0000"+
54043 "\u0000\u02ac\u1378\u0001\u0000\u0000\u0000\u02ae\u1381\u0001\u0000\u0000"+
54044 "\u0000\u02b0\u1390\u0001\u0000\u0000\u0000\u02b2\u1398\u0001\u0000\u0000"+
54045 "\u0000\u02b4\u139c\u0001\u0000\u0000\u0000\u02b6\u13a5\u0001\u0000\u0000"+
54046 "\u0000\u02b8\u13b2\u0001\u0000\u0000\u0000\u02ba\u13c1\u0001\u0000\u0000"+
54047 "\u0000\u02bc\u13c5\u0001\u0000\u0000\u0000\u02be\u13de\u0001\u0000\u0000"+
54048 "\u0000\u02c0\u13e2\u0001\u0000\u0000\u0000\u02c2\u13e5\u0001\u0000\u0000"+
54049 "\u0000\u02c4\u13fa\u0001\u0000\u0000\u0000\u02c6\u1412\u0001\u0000\u0000"+
54050 "\u0000\u02c8\u1414\u0001\u0000\u0000\u0000\u02ca\u1422\u0001\u0000\u0000"+
54051 "\u0000\u02cc\u1424\u0001\u0000\u0000\u0000\u02ce\u1434\u0001\u0000\u0000"+
54052 "\u0000\u02d0\u144d\u0001\u0000\u0000\u0000\u02d2\u1454\u0001\u0000\u0000"+
54053 "\u0000\u02d4\u1472\u0001\u0000\u0000\u0000\u02d6\u1474\u0001\u0000\u0000"+
54054 "\u0000\u02d8\u1494\u0001\u0000\u0000\u0000\u02da\u1496\u0001\u0000\u0000"+
54055 "\u0000\u02dc\u1498\u0001\u0000\u0000\u0000\u02de\u149b\u0001\u0000\u0000"+
54056 "\u0000\u02e0\u149e\u0001\u0000\u0000\u0000\u02e2\u14a6\u0001\u0000\u0000"+
54057 "\u0000\u02e4\u14c7\u0001\u0000\u0000\u0000\u02e6\u14e7\u0001\u0000\u0000"+
54058 "\u0000\u02e8\u14ed\u0001\u0000\u0000\u0000\u02ea\u14ef\u0001\u0000\u0000"+
54059 "\u0000\u02ec\u14f2\u0001\u0000\u0000\u0000\u02ee\u14fc\u0001\u0000\u0000"+
54060 "\u0000\u02f0\u14ff\u0001\u0000\u0000\u0000\u02f2\u1503\u0001\u0000\u0000"+
54061 "\u0000\u02f4\u1506\u0001\u0000\u0000\u0000\u02f6\u150e\u0001\u0000\u0000"+
54062 "\u0000\u02f8\u1515\u0001\u0000\u0000\u0000\u02fa\u1521\u0001\u0000\u0000"+
54063 "\u0000\u02fc\u1529\u0001\u0000\u0000\u0000\u02fe\u1532\u0001\u0000\u0000"+
54064 "\u0000\u0300\u1538\u0001\u0000\u0000\u0000\u0302\u1580\u0001\u0000\u0000"+
54065 "\u0000\u0304\u15b8\u0001\u0000\u0000\u0000\u0306\u15ba\u0001\u0000\u0000"+
54066 "\u0000\u0308\u15c0\u0001\u0000\u0000\u0000\u030a\u1600\u0001\u0000\u0000"+
54067 "\u0000\u030c\u1610\u0001\u0000\u0000\u0000\u030e\u1626\u0001\u0000\u0000"+
54068 "\u0000\u0310\u1630\u0001\u0000\u0000\u0000\u0312\u1641\u0001\u0000\u0000"+
54069 "\u0000\u0314\u1643\u0001\u0000\u0000\u0000\u0316\u1645\u0001\u0000\u0000"+
54070 "\u0000\u0318\u1647\u0001\u0000\u0000\u0000\u031a\u164a\u0001\u0000\u0000"+
54071 "\u0000\u031c\u164f\u0001\u0000\u0000\u0000\u031e\u1666\u0001\u0000\u0000"+
54072 "\u0000\u0320\u1679\u0001\u0000\u0000\u0000\u0322\u168b\u0001\u0000\u0000"+
54073 "\u0000\u0324\u168f\u0001\u0000\u0000\u0000\u0326\u169b\u0001\u0000\u0000"+
54074 "\u0000\u0328\u16a2\u0001\u0000\u0000\u0000\u032a\u16a6\u0001\u0000\u0000"+
54075 "\u0000\u032c\u16a8\u0001\u0000\u0000\u0000\u032e\u16b0\u0001\u0000\u0000"+
54076 "\u0000\u0330\u16c5\u0001\u0000\u0000\u0000\u0332\u16d6\u0001\u0000\u0000"+
54077 "\u0000\u0334\u16db\u0001\u0000\u0000\u0000\u0336\u16f0\u0001\u0000\u0000"+
54078 "\u0000\u0338\u1701\u0001\u0000\u0000\u0000\u033a\u171c\u0001\u0000\u0000"+
54079 "\u0000\u033c\u172e\u0001\u0000\u0000\u0000\u033e\u177d\u0001\u0000\u0000"+
54080 "\u0000\u0340\u1791\u0001\u0000\u0000\u0000\u0342\u183a\u0001\u0000\u0000"+
54081 "\u0000\u0344\u183f\u0001\u0000\u0000\u0000\u0346\u1849\u0001\u0000\u0000"+
54082 "\u0000\u0348\u1854\u0001\u0000\u0000\u0000\u034a\u185e\u0001\u0000\u0000"+
54083 "\u0000\u034c\u1867\u0001\u0000\u0000\u0000\u034e\u187d\u0001\u0000\u0000"+
54084 "\u0000\u0350\u188a\u0001\u0000\u0000\u0000\u0352\u1891\u0001\u0000\u0000"+
54085 "\u0000\u0354\u189d\u0001\u0000\u0000\u0000\u0356\u18aa\u0001\u0000\u0000"+
54086 "\u0000\u0358\u18b7\u0001\u0000\u0000\u0000\u035a\u18c2\u0001\u0000\u0000"+
54087 "\u0000\u035c\u18ce\u0001\u0000\u0000\u0000\u035e\u18e0\u0001\u0000\u0000"+
54088 "\u0000\u0360\u18ec\u0001\u0000\u0000\u0000\u0362\u18f9\u0001\u0000\u0000"+
54089 "\u0000\u0364\u1906\u0001\u0000\u0000\u0000\u0366\u1912\u0001\u0000\u0000"+
54090 "\u0000\u0368\u1925\u0001\u0000\u0000\u0000\u036a\u1929\u0001\u0000\u0000"+
54091 "\u0000\u036c\u1936\u0001\u0000\u0000\u0000\u036e\u1943\u0001\u0000\u0000"+
54092 "\u0000\u0370\u194c\u0001\u0000\u0000\u0000\u0372\u1956\u0001\u0000\u0000"+
54093 "\u0000\u0374\u1958\u0001\u0000\u0000\u0000\u0376\u195a\u0001\u0000\u0000"+
54094 "\u0000\u0378\u1986\u0001\u0000\u0000\u0000\u037a\u1988\u0001\u0000\u0000"+
54095 "\u0000\u037c\u198a\u0001\u0000\u0000\u0000\u037e\u198c\u0001\u0000\u0000"+
54096 "\u0000\u0380\u1994\u0001\u0000\u0000\u0000\u0382\u19a0\u0001\u0000\u0000"+
54097 "\u0000\u0384\u19d2\u0001\u0000\u0000\u0000\u0386\u19df\u0001\u0000\u0000"+
54098 "\u0000\u0388\u19ec\u0001\u0000\u0000\u0000\u038a\u1a14\u0001\u0000\u0000"+
54099 "\u0000\u038c\u1a24\u0001\u0000\u0000\u0000\u038e\u1a3a\u0001\u0000\u0000"+
54100 "\u0000\u0390\u1a3c\u0001\u0000\u0000\u0000\u0392\u1a4a\u0001\u0000\u0000"+
54101 "\u0000\u0394\u1a54\u0001\u0000\u0000\u0000\u0396\u1a56\u0001\u0000\u0000"+
54102 "\u0000\u0398\u1a58\u0001\u0000\u0000\u0000\u039a\u1a5a\u0001\u0000\u0000"+
54103 "\u0000\u039c\u1a5f\u0001\u0000\u0000\u0000\u039e\u1a66\u0001\u0000\u0000"+
54104 "\u0000\u03a0\u1a96\u0001\u0000\u0000\u0000\u03a2\u1a98\u0001\u0000\u0000"+
54105 "\u0000\u03a4\u1a9f\u0001\u0000\u0000\u0000\u03a6\u1aa6\u0001\u0000\u0000"+
54106 "\u0000\u03a8\u1ab5\u0001\u0000\u0000\u0000\u03aa\u1ac3\u0001\u0000\u0000"+
54107 "\u0000\u03ac\u1ac5\u0001\u0000\u0000\u0000\u03ae\u1aed\u0001\u0000\u0000"+
54108 "\u0000\u03b0\u1aef\u0001\u0000\u0000\u0000\u03b2\u1af1\u0001\u0000\u0000"+
54109 "\u0000\u03b4\u1b04\u0001\u0000\u0000\u0000\u03b6\u1b0c\u0001\u0000\u0000"+
54110 "\u0000\u03b8\u1b1a\u0001\u0000\u0000\u0000\u03ba\u1b1c\u0001\u0000\u0000"+
54111 "\u0000\u03bc\u1b28\u0001\u0000\u0000\u0000\u03be\u1b3f\u0001\u0000\u0000"+
54112 "\u0000\u03c0\u1b41\u0001\u0000\u0000\u0000\u03c2\u1b44\u0001\u0000\u0000"+
54113 "\u0000\u03c4\u1b51\u0001\u0000\u0000\u0000\u03c6\u1b53\u0001\u0000\u0000"+
54114 "\u0000\u03c8\u1b6a\u0001\u0000\u0000\u0000\u03ca\u1b6c\u0001\u0000\u0000"+
54115 "\u0000\u03cc\u1b70\u0001\u0000\u0000\u0000\u03ce\u1b80\u0001\u0000\u0000"+
54116 "\u0000\u03d0\u1ba7\u0001\u0000\u0000\u0000\u03d2\u1ba9\u0001\u0000\u0000"+
54117 "\u0000\u03d4\u1bb1\u0001\u0000\u0000\u0000\u03d6\u1bb3\u0001\u0000\u0000"+
54118 "\u0000\u03d8\u0414\u0003\u02ca\u0165\u0000\u03d9\u0414\u0003\u02aa\u0155"+
54119 "\u0000\u03da\u0414\u0003\u02b8\u015c\u0000\u03db\u0414\u0003\u02c2\u0161"+
54120 "\u0000\u03dc\u0414\u0003\u00f6{\u0000\u03dd\u0414\u0003\u010a\u0085\u0000"+
54121 "\u03de\u0414\u0003\u011e\u008f\u0000\u03df\u0414\u0003\u00f2y\u0000\u03e0"+
54122 "\u0414\u0003\u00f8|\u0000\u03e1\u0414\u0003\u00fc~\u0000\u03e2\u0414\u0003"+
54123 "\u00fe\u007f\u0000\u03e3\u0414\u0003\u0100\u0080\u0000\u03e4\u0414\u0003"+
54124 "\u0102\u0081\u0000\u03e5\u0414\u0003\u0104\u0082\u0000\u03e6\u0414\u0003"+
54125 "\u0106\u0083\u0000\u03e7\u0414\u0003\u0108\u0084\u0000\u03e8\u0414\u0003"+
54126 "\u0114\u008a\u0000\u03e9\u0414\u0003\u0116\u008b\u0000\u03ea\u0414\u0003"+
54127 "\u010c\u0086\u0000\u03eb\u0414\u0003\u0118\u008c\u0000\u03ec\u0414\u0003"+
54128 "\u011a\u008d\u0000\u03ed\u0414\u0003\u0112\u0089\u0000\u03ee\u0414\u0003"+
54129 "\u011c\u008e\u0000\u03ef\u0414\u0003\u0120\u0090\u0000\u03f0\u0414\u0003"+
54130 "\u0122\u0091\u0000\u03f1\u0414\u0003\u0124\u0092\u0000\u03f2\u0414\u0003"+
54131 "\u0126\u0093\u0000\u03f3\u0414\u0003\u0128\u0094\u0000\u03f4\u0414\u0003"+
54132 "\u012a\u0095\u0000\u03f5\u0414\u0003\u012c\u0096\u0000\u03f6\u0414\u0003"+
54133 "\u012e\u0097\u0000\u03f7\u0414\u0003\u0130\u0098\u0000\u03f8\u0414\u0003"+
54134 "\u00fa}\u0000\u03f9\u0414\u0003\u0002\u0001\u0000\u03fa\u0414\u0003\n"+
54135 "\u0005\u0000\u03fb\u0414\u0003\f\u0006\u0000\u03fc\u0414\u0003\u0006\u0003"+
54136 "\u0000\u03fd\u0414\u0003\u000e\u0007\u0000\u03fe\u0414\u0003\u0010\b\u0000"+
54137 "\u03ff\u0414\u0003\u0012\t\u0000\u0400\u0414\u0003\u0014\n\u0000\u0401"+
54138 "\u0414\u0003\u0016\u000b\u0000\u0402\u0414\u0003\u031a\u018d\u0000\u0403"+
54139 "\u0414\u0003\u032c\u0196\u0000\u0404\u0414\u0003\u0332\u0199\u0000\u0405"+
54140 "\u0414\u0003\u0380\u01c0\u0000\u0406\u0414\u0003\u039c\u01ce\u0000\u0407"+
54141 "\u0414\u0003\u039e\u01cf\u0000\u0408\u0414\u0003\u03a2\u01d1\u0000\u0409"+
54142 "\u0414\u0003\u03a4\u01d2\u0000\u040a\u0414\u0003\u03a6\u01d3\u0000\u040b"+
54143 "\u0414\u0003\u03a8\u01d4\u0000\u040c\u0414\u0003\u03ca\u01e5\u0000\u040d"+
54144 "\u0414\u0003\u03cc\u01e6\u0000\u040e\u0414\u0003\u00ecv\u0000\u040f\u0414"+
54145 "\u0003\u00eew\u0000\u0410\u0414\u0003\u037e\u01bf\u0000\u0411\u0414\u0003"+
54146 "\u03d6\u01eb\u0000\u0412\u0414\u0003\u0132\u0099\u0000\u0413\u03d8\u0001"+
54147 "\u0000\u0000\u0000\u0413\u03d9\u0001\u0000\u0000\u0000\u0413\u03da\u0001"+
54148 "\u0000\u0000\u0000\u0413\u03db\u0001\u0000\u0000\u0000\u0413\u03dc\u0001"+
54149 "\u0000\u0000\u0000\u0413\u03dd\u0001\u0000\u0000\u0000\u0413\u03de\u0001"+
54150 "\u0000\u0000\u0000\u0413\u03df\u0001\u0000\u0000\u0000\u0413\u03e0\u0001"+
54151 "\u0000\u0000\u0000\u0413\u03e1\u0001\u0000\u0000\u0000\u0413\u03e2\u0001"+
54152 "\u0000\u0000\u0000\u0413\u03e3\u0001\u0000\u0000\u0000\u0413\u03e4\u0001"+
54153 "\u0000\u0000\u0000\u0413\u03e5\u0001\u0000\u0000\u0000\u0413\u03e6\u0001"+
54154 "\u0000\u0000\u0000\u0413\u03e7\u0001\u0000\u0000\u0000\u0413\u03e8\u0001"+
54155 "\u0000\u0000\u0000\u0413\u03e9\u0001\u0000\u0000\u0000\u0413\u03ea\u0001"+
54156 "\u0000\u0000\u0000\u0413\u03eb\u0001\u0000\u0000\u0000\u0413\u03ec\u0001"+
54157 "\u0000\u0000\u0000\u0413\u03ed\u0001\u0000\u0000\u0000\u0413\u03ee\u0001"+
54158 "\u0000\u0000\u0000\u0413\u03ef\u0001\u0000\u0000\u0000\u0413\u03f0\u0001"+
54159 "\u0000\u0000\u0000\u0413\u03f1\u0001\u0000\u0000\u0000\u0413\u03f2\u0001"+
54160 "\u0000\u0000\u0000\u0413\u03f3\u0001\u0000\u0000\u0000\u0413\u03f4\u0001"+
54161 "\u0000\u0000\u0000\u0413\u03f5\u0001\u0000\u0000\u0000\u0413\u03f6\u0001"+
54162 "\u0000\u0000\u0000\u0413\u03f7\u0001\u0000\u0000\u0000\u0413\u03f8\u0001"+
54163 "\u0000\u0000\u0000\u0413\u03f9\u0001\u0000\u0000\u0000\u0413\u03fa\u0001"+
54164 "\u0000\u0000\u0000\u0413\u03fb\u0001\u0000\u0000\u0000\u0413\u03fc\u0001"+
54165 "\u0000\u0000\u0000\u0413\u03fd\u0001\u0000\u0000\u0000\u0413\u03fe\u0001"+
54166 "\u0000\u0000\u0000\u0413\u03ff\u0001\u0000\u0000\u0000\u0413\u0400\u0001"+
54167 "\u0000\u0000\u0000\u0413\u0401\u0001\u0000\u0000\u0000\u0413\u0402\u0001"+
54168 "\u0000\u0000\u0000\u0413\u0403\u0001\u0000\u0000\u0000\u0413\u0404\u0001"+
54169 "\u0000\u0000\u0000\u0413\u0405\u0001\u0000\u0000\u0000\u0413\u0406\u0001"+
54170 "\u0000\u0000\u0000\u0413\u0407\u0001\u0000\u0000\u0000\u0413\u0408\u0001"+
54171 "\u0000\u0000\u0000\u0413\u0409\u0001\u0000\u0000\u0000\u0413\u040a\u0001"+
54172 "\u0000\u0000\u0000\u0413\u040b\u0001\u0000\u0000\u0000\u0413\u040c\u0001"+
54173 "\u0000\u0000\u0000\u0413\u040d\u0001\u0000\u0000\u0000\u0413\u040e\u0001"+
54174 "\u0000\u0000\u0000\u0413\u040f\u0001\u0000\u0000\u0000\u0413\u0410\u0001"+
54175 "\u0000\u0000\u0000\u0413\u0411\u0001\u0000\u0000\u0000\u0413\u0412\u0001"+
54176 "\u0000\u0000\u0000\u0414\u0416\u0001\u0000\u0000\u0000\u0415\u0417\u0005"+
54177 "+\u0000\u0000\u0416\u0415\u0001\u0000\u0000\u0000\u0416\u0417\u0001\u0000"+
54178 "\u0000\u0000\u0417\u0001\u0001\u0000\u0000\u0000\u0418\u0419\u0005:\u0000"+
54179 "\u0000\u0419\u041a\u0005\u0100\u0000\u0000\u041a\u041b\u0005\u0213\u0000"+
54180 "\u0000\u041b\u041c\u0005\u0212\u0000\u0000\u041c\u041d\u0003\u0004\u0002"+
54181 "\u0000\u041d\u0003\u0001\u0000\u0000\u0000\u041e\u041f\u0005\u0216\u0000"+
54182 "\u0000\u041f\u0427\u0005\u029f\u0000\u0000\u0420\u0421\u0005\u0216\u0000"+
54183 "\u0000\u0421\u0427\u0005\u02a0\u0000\u0000\u0422\u0423\u0005\u0215\u0000"+
54184 "\u0000\u0423\u0427\u0005\u0216\u0000\u0000\u0424\u0427\u0005\u0214\u0000"+
54185 "\u0000\u0425\u0427\u0005\u0217\u0000\u0000\u0426\u041e\u0001\u0000\u0000"+
54186 "\u0000\u0426\u0420\u0001\u0000\u0000\u0000\u0426\u0422\u0001\u0000\u0000"+
54187 "\u0000\u0426\u0424\u0001\u0000\u0000\u0000\u0426\u0425\u0001\u0000\u0000"+
54188 "\u0000\u0427\u0005\u0001\u0000\u0000\u0000\u0428\u0429\u0005:\u0000\u0000"+
54189 "\u0429\u042a\u0005\u01a5\u0000\u0000\u042a\u042b\u0003\b\u0004\u0000\u042b"+
54190 "\u0007\u0001\u0000\u0000\u0000\u042c\u042d\u0007\u0000\u0000\u0000\u042d"+
54191 "\t\u0001\u0000\u0000\u0000\u042e\u042f\u0005}\u0000\u0000\u042f\u043c"+
54192 "\u0007\u0001\u0000\u0000\u0430\u0433\u0003\u00deo\u0000\u0431\u0433\u0003"+
54193 "\u00e0p\u0000\u0432\u0430\u0001\u0000\u0000\u0000\u0432\u0431\u0001\u0000"+
54194 "\u0000\u0000\u0433\u043a\u0001\u0000\u0000\u0000\u0434\u0435\u0005M\u0000"+
54195 "\u0000\u0435\u0438\u0005\u022b\u0000\u0000\u0436\u0439\u0003\u001c\u000e"+
54196 "\u0000\u0437\u0439\u0005\u02d1\u0000\u0000\u0438\u0436\u0001\u0000\u0000"+
54197 "\u0000\u0438\u0437\u0001\u0000\u0000\u0000\u0438\u0439\u0001\u0000\u0000"+
54198 "\u0000\u0439\u043b\u0001\u0000\u0000\u0000\u043a\u0434\u0001\u0000\u0000"+
54199 "\u0000\u043a\u043b\u0001\u0000\u0000\u0000\u043b\u043d\u0001\u0000\u0000"+
54200 "\u0000\u043c\u0432\u0001\u0000\u0000\u0000\u043c\u043d\u0001\u0000\u0000"+
54201 "\u0000\u043d\u000b\u0001\u0000\u0000\u0000\u043e\u043f\u0005}\u0000\u0000"+
54202 "\u043f\u0440\u0005\u022a\u0000\u0000\u0440\u0443\u0007\u0001\u0000\u0000"+
54203 "\u0441\u0444\u0003\u00deo\u0000\u0442\u0444\u0003\u00e0p\u0000\u0443\u0441"+
54204 "\u0001\u0000\u0000\u0000\u0443\u0442\u0001\u0000\u0000\u0000\u0443\u0444"+
54205 "\u0001\u0000\u0000\u0000\u0444\r\u0001\u0000\u0000\u0000\u0445\u044b\u0005"+
54206 "~\u0000\u0000\u0446\u0449\u0007\u0001\u0000\u0000\u0447\u044a\u0003\u00de"+
54207 "o\u0000\u0448\u044a\u0003\u00e0p\u0000\u0449\u0447\u0001\u0000\u0000\u0000"+
54208 "\u0449\u0448\u0001\u0000\u0000\u0000\u0449\u044a\u0001\u0000\u0000\u0000"+
54209 "\u044a\u044c\u0001\u0000\u0000\u0000\u044b\u0446\u0001\u0000\u0000\u0000"+
54210 "\u044b\u044c\u0001\u0000\u0000\u0000\u044c\u0453\u0001\u0000\u0000\u0000"+
54211 "\u044d\u044e\u0005M\u0000\u0000\u044e\u044f\u0005\u001f\u0000\u0000\u044f"+
54212 "\u0450\u0005\u0292\u0000\u0000\u0450\u0451\u0005\u0018\u0000\u0000\u0451"+
54213 "\u0452\u0007\u0000\u0000\u0000\u0452\u0454\u0005 \u0000\u0000\u0453\u044d"+
54214 "\u0001\u0000\u0000\u0000\u0453\u0454\u0001\u0000\u0000\u0000\u0454\u000f"+
54215 "\u0001\u0000\u0000\u0000\u0455\u0457\u0005~\u0000\u0000\u0456\u0458\u0005"+
54216 "\u022c\u0000\u0000\u0457\u0456\u0001\u0000\u0000\u0000\u0457\u0458\u0001"+
54217 "\u0000\u0000\u0000\u0458\u0011\u0001\u0000\u0000\u0000\u0459\u045a\u0005"+
54218 "\u007f\u0000\u0000\u045a\u045f\u0007\u0001\u0000\u0000\u045b\u0460\u0003"+
54219 "\u00deo\u0000\u045c\u0460\u0003\u00e0p\u0000\u045d\u0460\u0003\u00e2q"+
54220 "\u0000\u045e\u0460\u0003\u00e4r\u0000\u045f\u045b\u0001\u0000\u0000\u0000"+
54221 "\u045f\u045c\u0001\u0000\u0000\u0000\u045f\u045d\u0001\u0000\u0000\u0000"+
54222 "\u045f\u045e\u0001\u0000\u0000\u0000\u045f\u0460\u0001\u0000\u0000\u0000"+
54223 "\u0460\u0013\u0001\u0000\u0000\u0000\u0461\u0463\u0005\u007f\u0000\u0000"+
54224 "\u0462\u0464\u0005\u022c\u0000\u0000\u0463\u0462\u0001\u0000\u0000\u0000"+
54225 "\u0463\u0464\u0001\u0000\u0000\u0000\u0464\u0015\u0001\u0000\u0000\u0000"+
54226 "\u0465\u0466\u0005\u0137\u0000\u0000\u0466\u0469\u0007\u0001\u0000\u0000"+
54227 "\u0467\u046a\u0003\u00e2q\u0000\u0468\u046a\u0003\u00e4r\u0000\u0469\u0467"+
54228 "\u0001\u0000\u0000\u0000\u0469\u0468\u0001\u0000\u0000\u0000\u046a\u0017"+
54229 "\u0001\u0000\u0000\u0000\u046b\u046c\u0005)\u0000\u0000\u046c\u0019\u0001"+
54230 "\u0000\u0000\u0000\u046d\u0475\u0003\u001c\u000e\u0000\u046e\u0475\u0003"+
54231 "\u001e\u000f\u0000\u046f\u0475\u0003 \u0010\u0000\u0470\u0475\u0003\""+
54232 "\u0011\u0000\u0471\u0475\u0003$\u0012\u0000\u0472\u0475\u0003&\u0013\u0000"+
54233 "\u0473\u0475\u0003(\u0014\u0000\u0474\u046d\u0001\u0000\u0000\u0000\u0474"+
54234 "\u046e\u0001\u0000\u0000\u0000\u0474\u046f\u0001\u0000\u0000\u0000\u0474"+
54235 "\u0470\u0001\u0000\u0000\u0000\u0474\u0471\u0001\u0000\u0000\u0000\u0474"+
54236 "\u0472\u0001\u0000\u0000\u0000\u0474\u0473\u0001\u0000\u0000\u0000\u0475"+
54237 "\u001b\u0001\u0000\u0000\u0000\u0476\u0477\u0007\u0002\u0000\u0000\u0477"+
54238 "\u001d\u0001\u0000\u0000\u0000\u0478\u047a\u0007\u0003\u0000\u0000\u0479"+
54239 "\u0478\u0001\u0000\u0000\u0000\u0479\u047a\u0001\u0000\u0000\u0000\u047a"+
54240 "\u047b\u0001\u0000\u0000\u0000\u047b\u047c\u0005\u02cb\u0000\u0000\u047c"+
54241 "\u001f\u0001\u0000\u0000\u0000\u047d\u047e\u0007\u0004\u0000\u0000\u047e"+
54242 "\u0485\u0005\u02ca\u0000\u0000\u047f\u0480\u0005!\u0000\u0000\u0480\u0481"+
54243 "\u0003*\u0015\u0000\u0481\u0482\u0005\u02ca\u0000\u0000\u0482\u0483\u0005"+
54244 "\"\u0000\u0000\u0483\u0485\u0001\u0000\u0000\u0000\u0484\u047d\u0001\u0000"+
54245 "\u0000\u0000\u0484\u047f\u0001\u0000\u0000\u0000\u0485!\u0001\u0000\u0000"+
54246 "\u0000\u0486\u0487\u0005\u02cf\u0000\u0000\u0487#\u0001\u0000\u0000\u0000"+
54247 "\u0488\u0489\u0005\u02d0\u0000\u0000\u0489%\u0001\u0000\u0000\u0000\u048a"+
54248 "\u048b\u0007\u0005\u0000\u0000\u048b\'\u0001\u0000\u0000\u0000\u048c\u048d"+
54249 "\u0005l\u0000\u0000\u048d)\u0001\u0000\u0000\u0000\u048e\u0491\u0003,"+
54250 "\u0016\u0000\u048f\u0491\u0003.\u0017\u0000\u0490\u048e\u0001\u0000\u0000"+
54251 "\u0000\u0490\u048f\u0001\u0000\u0000\u0000\u0491+\u0001\u0000\u0000\u0000"+
54252 "\u0492\u0495\u0005\u02c8\u0000\u0000\u0493\u0495\u00030\u0018\u0000\u0494"+
54253 "\u0492\u0001\u0000\u0000\u0000\u0494\u0493\u0001\u0000\u0000\u0000\u0495"+
54254 "-\u0001\u0000\u0000\u0000\u0496\u0497\u0005\u02c9\u0000\u0000\u0497/\u0001"+
54255 "\u0000\u0000\u0000\u0498\u0499\u0007\u0006\u0000\u0000\u04991\u0001\u0000"+
54256 "\u0000\u0000\u049a\u049b\u0003*\u0015\u0000\u049b3\u0001\u0000\u0000\u0000"+
54257 "\u049c\u049d\u0003*\u0015\u0000\u049d5\u0001\u0000\u0000\u0000\u049e\u049f"+
54258 "\u0003L&\u0000\u049f\u04a0\u0005\u0014\u0000\u0000\u04a0\u04a2\u0001\u0000"+
54259 "\u0000\u0000\u04a1\u049e\u0001\u0000\u0000\u0000\u04a1\u04a2\u0001\u0000"+
54260 "\u0000\u0000\u04a2\u04a3\u0001\u0000\u0000\u0000\u04a3\u04a4\u0003N\'"+
54261 "\u0000\u04a47\u0001\u0000\u0000\u0000\u04a5\u04a6\u0003L&\u0000\u04a6"+
54262 "\u04a7\u0005\u0014\u0000\u0000\u04a7\u04a9\u0001\u0000\u0000\u0000\u04a8"+
54263 "\u04a5\u0001\u0000\u0000\u0000\u04a8\u04a9\u0001\u0000\u0000\u0000\u04a9"+
54264 "\u04aa\u0001\u0000\u0000\u0000\u04aa\u04ad\u0003N\'\u0000\u04ab\u04ac"+
54265 "\u0005+\u0000\u0000\u04ac\u04ae\u0003\u001e\u000f\u0000\u04ad\u04ab\u0001"+
54266 "\u0000\u0000\u0000\u04ad\u04ae\u0001\u0000\u0000\u0000\u04ae9\u0001\u0000"+
54267 "\u0000\u0000\u04af\u04b0\u0003L&\u0000\u04b0\u04b1\u0005\u0014\u0000\u0000"+
54268 "\u04b1\u04b3\u0001\u0000\u0000\u0000\u04b2\u04af\u0001\u0000\u0000\u0000"+
54269 "\u04b2\u04b3\u0001\u0000\u0000\u0000\u04b3\u04b4\u0001\u0000\u0000\u0000"+
54270 "\u04b4\u04b5\u0003N\'\u0000\u04b5;\u0001\u0000\u0000\u0000\u04b6\u04b7"+
54271 "\u00034\u001a\u0000\u04b7\u04b8\u0005\u0014\u0000\u0000\u04b8\u04ba\u0001"+
54272 "\u0000\u0000\u0000\u04b9\u04b6\u0001\u0000\u0000\u0000\u04b9\u04ba\u0001"+
54273 "\u0000\u0000\u0000\u04ba\u04bb\u0001\u0000\u0000\u0000\u04bb\u04bc\u0003"+
54274 "N\'\u0000\u04bc=\u0001\u0000\u0000\u0000\u04bd\u04be\u00034\u001a\u0000"+
54275 "\u04be\u04bf\u0005\u0014\u0000\u0000\u04bf\u04c1\u0001\u0000\u0000\u0000"+
54276 "\u04c0\u04bd\u0001\u0000\u0000\u0000\u04c0\u04c1\u0001\u0000\u0000\u0000"+
54277 "\u04c1\u04c2\u0001\u0000\u0000\u0000\u04c2\u04c3\u0003N\'\u0000\u04c3"+
54278 "?\u0001\u0000\u0000\u0000\u04c4\u04c5\u00032\u0019\u0000\u04c5\u04c9\u0005"+
54279 "\u0014\u0000\u0000\u04c6\u04c7\u0003L&\u0000\u04c7\u04c8\u0005\u0014\u0000"+
54280 "\u0000\u04c8\u04ca\u0001\u0000\u0000\u0000\u04c9\u04c6\u0001\u0000\u0000"+
54281 "\u0000\u04c9\u04ca\u0001\u0000\u0000\u0000\u04ca\u04d1\u0001\u0000\u0000"+
54282 "\u0000\u04cb\u04cc\u0003L&\u0000\u04cc\u04cd\u0005\u0014\u0000\u0000\u04cd"+
54283 "\u04cf\u0001\u0000\u0000\u0000\u04ce\u04cb\u0001\u0000\u0000\u0000\u04ce"+
54284 "\u04cf\u0001\u0000\u0000\u0000\u04cf\u04d1\u0001\u0000\u0000\u0000\u04d0"+
54285 "\u04c4\u0001\u0000\u0000\u0000\u04d0\u04ce\u0001\u0000\u0000\u0000\u04d1"+
54286 "\u04d2\u0001\u0000\u0000\u0000\u04d2\u04d3\u0003N\'\u0000\u04d3A\u0001"+
54287 "\u0000\u0000\u0000\u04d4\u04d5\u00034\u001a\u0000\u04d5\u04d6\u0005\u0014"+
54288 "\u0000\u0000\u04d6\u04d8\u0001\u0000\u0000\u0000\u04d7\u04d4\u0001\u0000"+
54289 "\u0000\u0000\u04d7\u04d8\u0001\u0000\u0000\u0000\u04d8\u04d9\u0001\u0000"+
54290 "\u0000\u0000\u04d9\u04da\u0003N\'\u0000\u04daC\u0001\u0000\u0000\u0000"+
54291 "\u04db\u04dc\u0003N\'\u0000\u04dcE\u0001\u0000\u0000\u0000\u04dd\u04de"+
54292 "\u0003N\'\u0000\u04deG\u0001\u0000\u0000\u0000\u04df\u04e0\u0003L&\u0000"+
54293 "\u04e0\u04e1\u0005\u0014\u0000\u0000\u04e1\u04e3\u0001\u0000\u0000\u0000"+
54294 "\u04e2\u04df\u0001\u0000\u0000\u0000\u04e2\u04e3\u0001\u0000\u0000\u0000"+
54295 "\u04e3\u04e6\u0001\u0000\u0000\u0000\u04e4\u04e7\u0003N\'\u0000\u04e5"+
54296 "\u04e7\u0003J%\u0000\u04e6\u04e4\u0001\u0000\u0000\u0000\u04e6\u04e5\u0001"+
54297 "\u0000\u0000\u0000\u04e7I\u0001\u0000\u0000\u0000\u04e8\u04e9\u0005,\u0000"+
54298 "\u0000\u04e9\u04ea\u0005\u001f\u0000\u0000\u04ea\u04eb\u0003N\'\u0000"+
54299 "\u04eb\u04ec\u0005 \u0000\u0000\u04ecK\u0001\u0000\u0000\u0000\u04ed\u04ee"+
54300 "\u0003*\u0015\u0000\u04eeM\u0001\u0000\u0000\u0000\u04ef\u04f0\u0003*"+
54301 "\u0015\u0000\u04f0O\u0001\u0000\u0000\u0000\u04f1\u04f2\u0005\u001f\u0000"+
54302 "\u0000\u04f2\u04f7\u0003H$\u0000\u04f3\u04f4\u0005%\u0000\u0000\u04f4"+
54303 "\u04f6\u0003H$\u0000\u04f5\u04f3\u0001\u0000\u0000\u0000\u04f6\u04f9\u0001"+
54304 "\u0000\u0000\u0000\u04f7\u04f5\u0001\u0000\u0000\u0000\u04f7\u04f8\u0001"+
54305 "\u0000\u0000\u0000\u04f8\u04fa\u0001\u0000\u0000\u0000\u04f9\u04f7\u0001"+
54306 "\u0000\u0000\u0000\u04fa\u04fb\u0005 \u0000\u0000\u04fbQ\u0001\u0000\u0000"+
54307 "\u0000\u04fc\u04fd\u0005\u001f\u0000\u0000\u04fd\u0502\u0003\u00ba]\u0000"+
54308 "\u04fe\u04ff\u0005%\u0000\u0000\u04ff\u0501\u0003\u00ba]\u0000\u0500\u04fe"+
54309 "\u0001\u0000\u0000\u0000\u0501\u0504\u0001\u0000\u0000\u0000\u0502\u0500"+
54310 "\u0001\u0000\u0000\u0000\u0502\u0503\u0001\u0000\u0000\u0000\u0503\u0505"+
54311 "\u0001\u0000\u0000\u0000\u0504\u0502\u0001\u0000\u0000\u0000\u0505\u0506"+
54312 "\u0005 \u0000\u0000\u0506S\u0001\u0000\u0000\u0000\u0507\u0509\u0005\u001f"+
54313 "\u0000\u0000\u0508\u0507\u0001\u0000\u0000\u0000\u0508\u0509\u0001\u0000"+
54314 "\u0000\u0000\u0509\u050a\u0001\u0000\u0000\u0000\u050a\u050f\u0003@ \u0000"+
54315 "\u050b\u050c\u0005%\u0000\u0000\u050c\u050e\u0003@ \u0000\u050d\u050b"+
54316 "\u0001\u0000\u0000\u0000\u050e\u0511\u0001\u0000\u0000\u0000\u050f\u050d"+
54317 "\u0001\u0000\u0000\u0000\u050f\u0510\u0001\u0000\u0000\u0000\u0510\u0513"+
54318 "\u0001\u0000\u0000\u0000\u0511\u050f\u0001\u0000\u0000\u0000\u0512\u0514"+
54319 "\u0005 \u0000\u0000\u0513\u0512\u0001\u0000\u0000\u0000\u0513\u0514\u0001"+
54320 "\u0000\u0000\u0000\u0514U\u0001\u0000\u0000";
54321 private static final String _serializedATNSegment1 =
54322 "\u0000\u0515\u0516\u0003*\u0015\u0000\u0516W\u0001\u0000\u0000\u0000\u0517"+
54323 "\u0518\u0003*\u0015\u0000\u0518Y\u0001\u0000\u0000\u0000\u0519\u051a\u0007"+
54324 "\u0007\u0000\u0000\u051a[\u0001\u0000\u0000\u0000\u051b\u051e\u0003*\u0015"+
54325 "\u0000\u051c\u051e\u0005\u02ca\u0000\u0000\u051d\u051b\u0001\u0000\u0000"+
54326 "\u0000\u051d\u051c\u0001\u0000\u0000\u0000\u051e]\u0001\u0000\u0000\u0000"+
54327 "\u051f\u0525\u0005\u001f\u0000\u0000\u0520\u0523\u0005\u02cb\u0000\u0000"+
54328 "\u0521\u0522\u0005%\u0000\u0000\u0522\u0524\u0005\u02cb\u0000\u0000\u0523"+
54329 "\u0521\u0001\u0000\u0000\u0000\u0523\u0524\u0001\u0000\u0000\u0000\u0524"+
54330 "\u0526\u0001\u0000\u0000\u0000\u0525\u0520\u0001\u0000\u0000\u0000\u0525"+
54331 "\u0526\u0001\u0000\u0000\u0000\u0526\u0527\u0001\u0000\u0000\u0000\u0527"+
54332 "\u0528\u0005 \u0000\u0000\u0528_\u0001\u0000\u0000\u0000\u0529\u052b\u0005"+
54333 "@\u0000\u0000\u052a\u0529\u0001\u0000\u0000\u0000\u052a\u052b\u0001\u0000"+
54334 "\u0000\u0000\u052b\u052c\u0001\u0000\u0000\u0000\u052c\u052d\u0005C\u0000"+
54335 "\u0000\u052da\u0001\u0000\u0000\u0000\u052e\u052f\u00061\uffff\uffff\u0000"+
54336 "\u052f\u0538\u0003l6\u0000\u0530\u0531\u0003j5\u0000\u0531\u0532\u0003"+
54337 "b1\u0002\u0532\u0538\u0001\u0000\u0000\u0000\u0533\u0534\u0005\u001f\u0000"+
54338 "\u0000\u0534\u0535\u0003b1\u0000\u0535\u0536\u0005 \u0000\u0000\u0536"+
54339 "\u0538\u0001\u0000\u0000\u0000\u0537\u052e\u0001\u0000\u0000\u0000\u0537"+
54340 "\u0530\u0001\u0000\u0000\u0000\u0537\u0533\u0001\u0000\u0000\u0000\u0538"+
54341 "\u0547\u0001\u0000\u0000\u0000\u0539\u053a\n\u0005\u0000\u0000\u053a\u053b"+
54342 "\u0003d2\u0000\u053b\u053c\u0003b1\u0006\u053c\u0546\u0001\u0000\u0000"+
54343 "\u0000\u053d\u053e\n\u0004\u0000\u0000\u053e\u053f\u0003f3\u0000\u053f"+
54344 "\u0540\u0003b1\u0005\u0540\u0546\u0001\u0000\u0000\u0000\u0541\u0542\n"+
54345 "\u0003\u0000\u0000\u0542\u0543\u0003h4\u0000\u0543\u0544\u0003b1\u0004"+
54346 "\u0544\u0546\u0001\u0000\u0000\u0000\u0545\u0539\u0001\u0000\u0000\u0000"+
54347 "\u0545\u053d\u0001\u0000\u0000\u0000\u0545\u0541\u0001\u0000\u0000\u0000"+
54348 "\u0546\u0549\u0001\u0000\u0000\u0000\u0547\u0545\u0001\u0000\u0000\u0000"+
54349 "\u0547\u0548\u0001\u0000\u0000\u0000\u0548c\u0001\u0000\u0000\u0000\u0549"+
54350 "\u0547\u0001\u0000\u0000\u0000\u054a\u054b\u0007\b\u0000\u0000\u054be"+
54351 "\u0001\u0000\u0000\u0000\u054c\u054d\u0007\t\u0000\u0000\u054dg\u0001"+
54352 "\u0000\u0000\u0000\u054e\u0550\u0005j\u0000\u0000\u054f\u0551\u0005k\u0000"+
54353 "\u0000\u0550\u054f\u0001\u0000\u0000\u0000\u0550\u0551\u0001\u0000\u0000"+
54354 "\u0000\u0551\u0552\u0001\u0000\u0000\u0000\u0552\u0553\u0005O\u0000\u0000"+
54355 "\u0553\u0554\u0005U\u0000\u0000\u0554i\u0001\u0000\u0000\u0000\u0555\u0556"+
54356 "\u0007\n\u0000\u0000\u0556k\u0001\u0000\u0000\u0000\u0557\u0558\u0006"+
54357 "6\uffff\uffff\u0000\u0558\u0559\u0003p8\u0000\u0559\u056e\u0001\u0000"+
54358 "\u0000\u0000\u055a\u055b\n\u0005\u0000\u0000\u055b\u055d\u0005j\u0000"+
54359 "\u0000\u055c\u055e\u0005k\u0000\u0000\u055d\u055c\u0001\u0000\u0000\u0000"+
54360 "\u055d\u055e\u0001\u0000\u0000\u0000\u055e\u055f\u0001\u0000\u0000\u0000"+
54361 "\u055f\u056d\u0007\u000b\u0000\u0000\u0560\u0561\n\u0004\u0000\u0000\u0561"+
54362 "\u0562\u0005\u0016\u0000\u0000\u0562\u056d\u0003p8\u0000\u0563\u0564\n"+
54363 "\u0003\u0000\u0000\u0564\u0565\u0003n7\u0000\u0565\u0566\u0003p8\u0000"+
54364 "\u0566\u056d\u0001\u0000\u0000\u0000\u0567\u0568\n\u0002\u0000\u0000\u0568"+
54365 "\u0569\u0003n7\u0000\u0569\u056a\u0007\f\u0000\u0000\u056a\u056b\u0003"+
54366 "\u02f0\u0178\u0000\u056b\u056d\u0001\u0000\u0000\u0000\u056c\u055a\u0001"+
54367 "\u0000\u0000\u0000\u056c\u0560\u0001\u0000\u0000\u0000\u056c\u0563\u0001"+
54368 "\u0000\u0000\u0000\u056c\u0567\u0001\u0000\u0000\u0000\u056d\u0570\u0001"+
54369 "\u0000\u0000\u0000\u056e\u056c\u0001\u0000\u0000\u0000\u056e\u056f\u0001"+
54370 "\u0000\u0000\u0000\u056fm\u0001\u0000\u0000\u0000\u0570\u056e\u0001\u0000"+
54371 "\u0000\u0000\u0571\u0572\u0007\r\u0000\u0000\u0572o\u0001\u0000\u0000"+
54372 "\u0000\u0573\u0575\u0003r9\u0000\u0574\u0576\u0005k\u0000\u0000\u0575"+
54373 "\u0574\u0001\u0000\u0000\u0000\u0575\u0576\u0001\u0000\u0000\u0000\u0576"+
54374 "\u0577\u0001\u0000\u0000\u0000\u0577\u0578\u0005q\u0000\u0000\u0578\u0579"+
54375 "\u0003\u02f0\u0178\u0000\u0579\u059f\u0001\u0000\u0000\u0000\u057a\u057c"+
54376 "\u0003r9\u0000\u057b\u057d\u0005k\u0000\u0000\u057c\u057b\u0001\u0000"+
54377 "\u0000\u0000\u057c\u057d\u0001\u0000\u0000\u0000\u057d\u057e\u0001\u0000"+
54378 "\u0000\u0000\u057e\u057f\u0005q\u0000\u0000\u057f\u0580\u0005\u001f\u0000"+
54379 "\u0000\u0580\u0585\u0003b1\u0000\u0581\u0582\u0005%\u0000\u0000\u0582"+
54380 "\u0584\u0003b1\u0000\u0583\u0581\u0001\u0000\u0000\u0000\u0584\u0587\u0001"+
54381 "\u0000\u0000\u0000\u0585\u0583\u0001\u0000\u0000\u0000\u0585\u0586\u0001"+
54382 "\u0000\u0000\u0000\u0586\u0588\u0001\u0000\u0000\u0000\u0587\u0585\u0001"+
54383 "\u0000\u0000\u0000\u0588\u0589\u0005 \u0000\u0000\u0589\u059f\u0001\u0000"+
54384 "\u0000\u0000\u058a\u058c\u0003r9\u0000\u058b\u058d\u0005k\u0000\u0000"+
54385 "\u058c\u058b\u0001\u0000\u0000\u0000\u058c\u058d\u0001\u0000\u0000\u0000"+
54386 "\u058d\u058e\u0001\u0000\u0000\u0000\u058e\u058f\u0005p\u0000\u0000\u058f"+
54387 "\u0590\u0003r9\u0000\u0590\u0591\u0005h\u0000\u0000\u0591\u0592\u0003"+
54388 "p8\u0000\u0592\u059f\u0001\u0000\u0000\u0000\u0593\u0595\u0003r9\u0000"+
54389 "\u0594\u0596\u0005k\u0000\u0000\u0595\u0594\u0001\u0000\u0000\u0000\u0595"+
54390 "\u0596\u0001\u0000\u0000\u0000\u0596\u0597\u0001\u0000\u0000\u0000\u0597"+
54391 "\u0598\u0005t\u0000\u0000\u0598\u059b\u0003t:\u0000\u0599\u059a\u0005"+
54392 "\u00eb\u0000\u0000\u059a\u059c\u0003t:\u0000\u059b\u0599\u0001\u0000\u0000"+
54393 "\u0000\u059b\u059c\u0001\u0000\u0000\u0000\u059c\u059f\u0001\u0000\u0000"+
54394 "\u0000\u059d\u059f\u0003r9\u0000\u059e\u0573\u0001\u0000\u0000\u0000\u059e"+
54395 "\u057a\u0001\u0000\u0000\u0000\u059e\u058a\u0001\u0000\u0000\u0000\u059e"+
54396 "\u0593\u0001\u0000\u0000\u0000\u059e\u059d\u0001\u0000\u0000\u0000\u059f"+
54397 "q\u0001\u0000\u0000\u0000\u05a0\u05a1\u00069\uffff\uffff\u0000\u05a1\u05a2"+
54398 "\u0003t:\u0000\u05a2\u05c3\u0001\u0000\u0000\u0000\u05a3\u05a4\n\u000b"+
54399 "\u0000\u0000\u05a4\u05a5\u0005\b\u0000\u0000\u05a5\u05c2\u0003r9\f\u05a6"+
54400 "\u05a7\n\n\u0000\u0000\u05a7\u05a8\u0005\t\u0000\u0000\u05a8\u05c2\u0003"+
54401 "r9\u000b\u05a9\u05aa\n\t\u0000\u0000\u05aa\u05ab\u0005\n\u0000\u0000\u05ab"+
54402 "\u05c2\u0003r9\n\u05ac\u05ad\n\b\u0000\u0000\u05ad\u05ae\u0005\u000b\u0000"+
54403 "\u0000\u05ae\u05c2\u0003r9\t\u05af\u05b0\n\u0007\u0000\u0000\u05b0\u05b1"+
54404 "\u0005\u000f\u0000\u0000\u05b1\u05c2\u0003r9\b\u05b2\u05b3\n\u0006\u0000"+
54405 "\u0000\u05b3\u05b4\u0005\u0010\u0000\u0000\u05b4\u05c2\u0003r9\u0007\u05b5"+
54406 "\u05b6\n\u0005\u0000\u0000\u05b6\u05b7\u0005\u0011\u0000\u0000\u05b7\u05c2"+
54407 "\u0003r9\u0006\u05b8\u05b9\n\u0004\u0000\u0000\u05b9\u05ba\u0005\u0012"+
54408 "\u0000\u0000\u05ba\u05c2\u0003r9\u0005\u05bb\u05bc\n\u0003\u0000\u0000"+
54409 "\u05bc\u05bd\u0005\r\u0000\u0000\u05bd\u05c2\u0003r9\u0004\u05be\u05bf"+
54410 "\n\u0002\u0000\u0000\u05bf\u05c0\u0005\f\u0000\u0000\u05c0\u05c2\u0003"+
54411 "r9\u0003\u05c1\u05a3\u0001\u0000\u0000\u0000\u05c1\u05a6\u0001\u0000\u0000"+
54412 "\u0000\u05c1\u05a9\u0001\u0000\u0000\u0000\u05c1\u05ac\u0001\u0000\u0000"+
54413 "\u0000\u05c1\u05af\u0001\u0000\u0000\u0000\u05c1\u05b2\u0001\u0000\u0000"+
54414 "\u0000\u05c1\u05b5\u0001\u0000\u0000\u0000\u05c1\u05b8\u0001\u0000\u0000"+
54415 "\u0000\u05c1\u05bb\u0001\u0000\u0000\u0000\u05c1\u05be\u0001\u0000\u0000"+
54416 "\u0000\u05c2\u05c5\u0001\u0000\u0000\u0000\u05c3\u05c1\u0001\u0000\u0000"+
54417 "\u0000\u05c3\u05c4\u0001\u0000\u0000\u0000\u05c4s\u0001\u0000\u0000\u0000"+
54418 "\u05c5\u05c3\u0001\u0000\u0000\u0000\u05c6\u05c7\u0006:\uffff\uffff\u0000"+
54419 "\u05c7\u05e8\u0003v;\u0000\u05c8\u05e8\u0003\u0018\f\u0000\u05c9\u05e8"+
54420 "\u0003\u001a\r\u0000\u05ca\u05e8\u0003H$\u0000\u05cb\u05e8\u0003\u00da"+
54421 "m\u0000\u05cc\u05cd\u0007\u000e\u0000\u0000\u05cd\u05e8\u0003t:\u0006"+
54422 "\u05ce\u05d0\u0005\u00f1\u0000\u0000\u05cf\u05ce\u0001\u0000\u0000\u0000"+
54423 "\u05cf\u05d0\u0001\u0000\u0000\u0000\u05d0\u05d1\u0001\u0000\u0000\u0000"+
54424 "\u05d1\u05d2\u0005\u001f\u0000\u0000\u05d2\u05d7\u0003b1\u0000\u05d3\u05d4"+
54425 "\u0005%\u0000\u0000\u05d4\u05d6\u0003b1\u0000\u05d5\u05d3\u0001\u0000"+
54426 "\u0000\u0000\u05d6\u05d9\u0001\u0000\u0000\u0000\u05d7\u05d5\u0001\u0000"+
54427 "\u0000\u0000\u05d7\u05d8\u0001\u0000\u0000\u0000\u05d8\u05da\u0001\u0000"+
54428 "\u0000\u0000\u05d9\u05d7\u0001\u0000\u0000\u0000\u05da\u05db\u0005 \u0000"+
54429 "\u0000\u05db\u05e8\u0001\u0000\u0000\u0000\u05dc\u05de\u0005o\u0000\u0000"+
54430 "\u05dd\u05dc\u0001\u0000\u0000\u0000\u05dd\u05de\u0001\u0000\u0000\u0000"+
54431 "\u05de\u05df\u0001\u0000\u0000\u0000\u05df\u05e8\u0003\u02f0\u0178\u0000"+
54432 "\u05e0\u05e1\u0005!\u0000\u0000\u05e1\u05e2\u0003*\u0015\u0000\u05e2\u05e3"+
54433 "\u0003b1\u0000\u05e3\u05e4\u0005\"\u0000\u0000\u05e4\u05e8\u0001\u0000"+
54434 "\u0000\u0000\u05e5\u05e8\u0003\u0092I\u0000\u05e6\u05e8\u0003\u0098L\u0000"+
54435 "\u05e7\u05c6\u0001\u0000\u0000\u0000\u05e7\u05c8\u0001\u0000\u0000\u0000"+
54436 "\u05e7\u05c9\u0001\u0000\u0000\u0000\u05e7\u05ca\u0001\u0000\u0000\u0000"+
54437 "\u05e7\u05cb\u0001\u0000\u0000\u0000\u05e7\u05cc\u0001\u0000\u0000\u0000"+
54438 "\u05e7\u05cf\u0001\u0000\u0000\u0000\u05e7\u05dd\u0001\u0000\u0000\u0000"+
54439 "\u05e7\u05e0\u0001\u0000\u0000\u0000\u05e7\u05e5\u0001\u0000\u0000\u0000"+
54440 "\u05e7\u05e6\u0001\u0000\u0000\u0000\u05e8\u05ee\u0001\u0000\u0000\u0000"+
54441 "\u05e9\u05ea\n\u0007\u0000\u0000\u05ea\u05eb\u0005\u0005\u0000\u0000\u05eb"+
54442 "\u05ed\u0003t:\b\u05ec\u05e9\u0001\u0000\u0000\u0000\u05ed\u05f0\u0001"+
54443 "\u0000\u0000\u0000\u05ee\u05ec\u0001\u0000\u0000\u0000\u05ee\u05ef\u0001"+
54444 "\u0000\u0000\u0000\u05efu\u0001\u0000\u0000\u0000\u05f0\u05ee\u0001\u0000"+
54445 "\u0000\u0000\u05f1\u05f5\u0003x<\u0000\u05f2\u05f5\u0003~?\u0000\u05f3"+
54446 "\u05f5\u0003\u008eG\u0000\u05f4\u05f1\u0001\u0000\u0000\u0000\u05f4\u05f2"+
54447 "\u0001\u0000\u0000\u0000\u05f4\u05f3\u0001\u0000\u0000\u0000\u05f5w\u0001"+
54448 "\u0000\u0000\u0000\u05f6\u05f7\u0003z=\u0000\u05f7\u05f9\u0005\u001f\u0000"+
54449 "\u0000\u05f8\u05fa\u0003|>\u0000\u05f9\u05f8\u0001\u0000\u0000\u0000\u05f9"+
54450 "\u05fa\u0001\u0000\u0000\u0000\u05fa\u0604\u0001\u0000\u0000\u0000\u05fb"+
54451 "\u0600\u0003b1\u0000\u05fc\u05fd\u0005%\u0000\u0000\u05fd\u05ff\u0003"+
54452 "b1\u0000\u05fe\u05fc\u0001\u0000\u0000\u0000\u05ff\u0602\u0001\u0000\u0000"+
54453 "\u0000\u0600\u05fe\u0001\u0000\u0000\u0000\u0600\u0601\u0001\u0000\u0000"+
54454 "\u0000\u0601\u0605\u0001\u0000\u0000\u0000\u0602\u0600\u0001\u0000\u0000"+
54455 "\u0000\u0603\u0605\u0005\u0011\u0000\u0000\u0604\u05fb\u0001\u0000\u0000"+
54456 "\u0000\u0604\u0603\u0001\u0000\u0000\u0000\u0604\u0605\u0001\u0000\u0000"+
54457 "\u0000\u0605\u0606\u0001\u0000\u0000\u0000\u0606\u0607\u0005 \u0000\u0000"+
54458 "\u0607y\u0001\u0000\u0000\u0000\u0608\u0609\u0007\u000f\u0000\u0000\u0609"+
54459 "{\u0001\u0000\u0000\u0000\u060a\u060b\u0005O\u0000\u0000\u060b}\u0001"+
54460 "\u0000\u0000\u0000\u060c\u0612\u0003\u0080@\u0000\u060d\u0612\u0003\u0084"+
54461 "B\u0000\u060e\u0612\u0003\u0082A\u0000\u060f\u0612\u0003\u0086C\u0000"+
54462 "\u0610\u0612\u0003\u008cF\u0000\u0611\u060c\u0001\u0000\u0000\u0000\u0611"+
54463 "\u060d\u0001\u0000\u0000\u0000\u0611\u060e\u0001\u0000\u0000\u0000\u0611"+
54464 "\u060f\u0001\u0000\u0000\u0000\u0611\u0610\u0001\u0000\u0000\u0000\u0612"+
54465 "\u007f\u0001\u0000\u0000\u0000\u0613\u0614\u0005R\u0000\u0000\u0614\u0615"+
54466 "\u0005\u001f\u0000\u0000\u0615\u0616\u0003b1\u0000\u0616\u0617\u0005`"+
54467 "\u0000\u0000\u0617\u0618\u0003\u009eO\u0000\u0618\u0619\u0005 \u0000\u0000"+
54468 "\u0619\u0081\u0001\u0000\u0000\u0000\u061a\u061b\u0005\u010a\u0000\u0000"+
54469 "\u061b\u061c\u0005\u001f\u0000\u0000\u061c\u061d\u0003\u009eO\u0000\u061d"+
54470 "\u061e\u0005%\u0000\u0000\u061e\u0621\u0003b1\u0000\u061f\u0620\u0005"+
54471 "%\u0000\u0000\u0620\u0622\u0005\u02cb\u0000\u0000\u0621\u061f\u0001\u0000"+
54472 "\u0000\u0000\u0621\u0622\u0001\u0000\u0000\u0000\u0622\u0623\u0001\u0000"+
54473 "\u0000\u0000\u0623\u0624\u0005 \u0000\u0000\u0624\u0083\u0001\u0000\u0000"+
54474 "\u0000\u0625\u0626\u0005\u0083\u0000\u0000\u0626\u0627\u0005\u001f\u0000"+
54475 "\u0000\u0627\u062c\u0003b1\u0000\u0628\u0629\u0005%\u0000\u0000\u0629"+
54476 "\u062b\u0003b1\u0000\u062a\u0628\u0001\u0000\u0000\u0000\u062b\u062e\u0001"+
54477 "\u0000\u0000\u0000\u062c\u062a\u0001\u0000\u0000\u0000\u062c\u062d\u0001"+
54478 "\u0000\u0000\u0000\u062d\u0631\u0001\u0000\u0000\u0000\u062e\u062c\u0001"+
54479 "\u0000\u0000\u0000\u062f\u0630\u0005^\u0000\u0000\u0630\u0632\u0003\u00d4"+
54480 "j\u0000\u0631\u062f\u0001\u0000\u0000\u0000\u0631\u0632\u0001\u0000\u0000"+
54481 "\u0000\u0632\u0633\u0001\u0000\u0000\u0000\u0633\u0634\u0005 \u0000\u0000"+
54482 "\u0634\u0085\u0001\u0000\u0000\u0000\u0635\u0636\u0005\u02c6\u0000\u0000"+
54483 "\u0636\u0637\u0005\u001f\u0000\u0000\u0637\u063a\u0003b1\u0000\u0638\u0639"+
54484 "\u0005%\u0000\u0000\u0639\u063b\u0003b1\u0000\u063a\u0638\u0001\u0000"+
54485 "\u0000\u0000\u063a\u063b\u0001\u0000\u0000\u0000\u063b\u063c\u0001\u0000"+
54486 "\u0000\u0000\u063c\u063e\u0005 \u0000\u0000\u063d\u063f\u0003\u0088D\u0000"+
54487 "\u063e\u063d\u0001\u0000\u0000\u0000\u063e\u063f\u0001\u0000\u0000\u0000"+
54488 "\u063f\u0087\u0001\u0000\u0000\u0000\u0640\u0641\u0005M\u0000\u0000\u0641"+
54489 "\u0642\u0005\u001f\u0000\u0000\u0642\u0647\u0003\u008aE\u0000\u0643\u0644"+
54490 "\u0005%\u0000\u0000\u0644\u0646\u0003\u008aE\u0000\u0645\u0643\u0001\u0000"+
54491 "\u0000\u0000\u0646\u0649\u0001\u0000\u0000\u0000\u0647\u0645\u0001\u0000"+
54492 "\u0000\u0000\u0647\u0648\u0001\u0000\u0000\u0000\u0648\u064a\u0001\u0000"+
54493 "\u0000\u0000\u0649\u0647\u0001\u0000\u0000\u0000\u064a\u064b\u0005 \u0000"+
54494 "\u0000\u064b\u0089\u0001\u0000\u0000\u0000\u064c\u064d\u0003H$\u0000\u064d"+
54495 "\u064f\u0003\u009eO\u0000\u064e\u0650\u0003b1\u0000\u064f\u064e\u0001"+
54496 "\u0000\u0000\u0000\u064f\u0650\u0001\u0000\u0000\u0000\u0650\u0653\u0001"+
54497 "\u0000\u0000\u0000\u0651\u0652\u0005`\u0000\u0000\u0652\u0654\u0005\u02bb"+
54498 "\u0000\u0000\u0653\u0651\u0001\u0000\u0000\u0000\u0653\u0654\u0001\u0000"+
54499 "\u0000\u0000\u0654\u008b\u0001\u0000\u0000\u0000\u0655\u0656\u0005\u02c7"+
54500 "\u0000\u0000\u0656\u0657\u0005\u001f\u0000\u0000\u0657\u0658\u0003b1\u0000"+
54501 "\u0658\u0660\u0005%\u0000\u0000\u0659\u065a\u0003b1\u0000\u065a\u065b"+
54502 "\u0005+\u0000\u0000\u065b\u065c\u0003b1\u0000\u065c\u065d\u0005+\u0000"+
54503 "\u0000\u065d\u065e\u0003b1\u0000\u065e\u0661\u0001\u0000\u0000\u0000\u065f"+
54504 "\u0661\u0003b1\u0000\u0660\u0659\u0001\u0000\u0000\u0000\u0660\u065f\u0001"+
54505 "\u0000\u0000\u0000\u0661\u0662\u0001\u0000\u0000\u0000\u0662\u0665\u0005"+
54506 "%\u0000\u0000\u0663\u0666\u0003@ \u0000\u0664\u0666\u0003b1\u0000\u0665"+
54507 "\u0663\u0001\u0000\u0000\u0000\u0665\u0664\u0001\u0000\u0000\u0000\u0666"+
54508 "\u0667\u0001\u0000\u0000\u0000\u0667\u0668\u0005 \u0000\u0000\u0668\u0677"+
54509 "\u0001\u0000\u0000\u0000\u0669\u066a\u0005\u02c7\u0000\u0000\u066a\u066b"+
54510 "\u0005\u001f\u0000\u0000\u066b\u066c\u0005\u0164\u0000\u0000\u066c\u0671"+
54511 "\u0003b1\u0000\u066d\u066e\u0005%\u0000\u0000\u066e\u0670\u0003b1\u0000"+
54512 "\u066f\u066d\u0001\u0000\u0000\u0000\u0670\u0673\u0001\u0000\u0000\u0000"+
54513 "\u0671\u066f\u0001\u0000\u0000\u0000\u0671\u0672\u0001\u0000\u0000\u0000"+
54514 "\u0672\u0674\u0001\u0000\u0000\u0000\u0673\u0671\u0001\u0000\u0000\u0000"+
54515 "\u0674\u0675\u0005 \u0000\u0000\u0675\u0677\u0001\u0000\u0000\u0000\u0676"+
54516 "\u0655\u0001\u0000\u0000\u0000\u0676\u0669\u0001\u0000\u0000\u0000\u0677"+
54517 "\u008d\u0001\u0000\u0000\u0000\u0678\u0679\u0003\u0090H\u0000\u0679\u0683"+
54518 "\u0005\u001f\u0000\u0000\u067a\u067f\u0003b1\u0000\u067b\u067c\u0005%"+
54519 "\u0000\u0000\u067c\u067e\u0003b1\u0000\u067d\u067b\u0001\u0000\u0000\u0000"+
54520 "\u067e\u0681\u0001\u0000\u0000\u0000\u067f\u067d\u0001\u0000\u0000\u0000"+
54521 "\u067f\u0680\u0001\u0000\u0000\u0000\u0680\u0684\u0001\u0000\u0000\u0000"+
54522 "\u0681\u067f\u0001\u0000\u0000\u0000\u0682\u0684\u0005\u0011\u0000\u0000"+
54523 "\u0683\u067a\u0001\u0000\u0000\u0000\u0683\u0682\u0001\u0000\u0000\u0000"+
54524 "\u0683\u0684\u0001\u0000\u0000\u0000\u0684\u0685\u0001\u0000\u0000\u0000"+
54525 "\u0685\u0686\u0005 \u0000\u0000\u0686\u008f\u0001\u0000\u0000\u0000\u0687"+
54526 "\u0688\u0003L&\u0000\u0688\u0689\u0005\u0014\u0000\u0000\u0689\u068b\u0001"+
54527 "\u0000\u0000\u0000\u068a\u0687\u0001\u0000\u0000\u0000\u068a\u068b\u0001"+
54528 "\u0000\u0000\u0000\u068b\u068c\u0001\u0000\u0000\u0000\u068c\u0692\u0003"+
54529 "*\u0015\u0000\u068d\u0692\u0005c\u0000\u0000\u068e\u0692\u0005\u008a\u0000"+
54530 "\u0000\u068f\u0692\u0005\u008b\u0000\u0000\u0690\u0692\u0005\u0086\u0000"+
54531 "\u0000\u0691\u068a\u0001\u0000\u0000\u0000\u0691\u068d\u0001\u0000\u0000"+
54532 "\u0000\u0691\u068e\u0001\u0000\u0000\u0000\u0691\u068f\u0001\u0000\u0000"+
54533 "\u0000\u0691\u0690\u0001\u0000\u0000\u0000\u0692\u0091\u0001\u0000\u0000"+
54534 "\u0000\u0693\u0695\u0005P\u0000\u0000\u0694\u0696\u0003t:\u0000\u0695"+
54535 "\u0694\u0001\u0000\u0000\u0000\u0695\u0696\u0001\u0000\u0000\u0000\u0696"+
54536 "\u0698\u0001\u0000\u0000\u0000\u0697\u0699\u0003\u0094J\u0000\u0698\u0697"+
54537 "\u0001\u0000\u0000\u0000\u0699\u069a\u0001\u0000\u0000\u0000\u069a\u0698"+
54538 "\u0001\u0000\u0000\u0000\u069a\u069b\u0001\u0000\u0000\u0000\u069b\u069d"+
54539 "\u0001\u0000\u0000\u0000\u069c\u069e\u0003\u0096K\u0000\u069d\u069c\u0001"+
54540 "\u0000\u0000\u0000\u069d\u069e\u0001\u0000\u0000\u0000\u069e\u069f\u0001"+
54541 "\u0000\u0000\u0000\u069f\u06a0\u0005\u0116\u0000\u0000\u06a0\u0093\u0001"+
54542 "\u0000\u0000\u0000\u06a1\u06a2\u0005Q\u0000\u0000\u06a2\u06a3\u0003b1"+
54543 "\u0000\u06a3\u06a4\u0005e\u0000\u0000\u06a4\u06a5\u0003b1\u0000\u06a5"+
54544 "\u0095\u0001\u0000\u0000\u0000\u06a6\u06a7\u0005d\u0000\u0000\u06a7\u06a8"+
54545 "\u0003b1\u0000\u06a8\u0097\u0001\u0000\u0000\u0000\u06a9\u06ae\u0003\u00a8"+
54546 "T\u0000\u06aa\u06ae\u0003\u00a2Q\u0000\u06ab\u06ae\u0003\u00a4R\u0000"+
54547 "\u06ac\u06ae\u0003\u00a6S\u0000\u06ad\u06a9\u0001\u0000\u0000\u0000\u06ad"+
54548 "\u06aa\u0001\u0000\u0000\u0000\u06ad\u06ab\u0001\u0000\u0000\u0000\u06ad"+
54549 "\u06ac\u0001\u0000\u0000\u0000\u06ae\u0099\u0001\u0000\u0000\u0000\u06af"+
54550 "\u06b0\u0005u\u0000\u0000\u06b0\u06b1\u0005w\u0000\u0000\u06b1\u06b6\u0003"+
54551 "\u009cN\u0000\u06b2\u06b3\u0005%\u0000\u0000\u06b3\u06b5\u0003\u009cN"+
54552 "\u0000\u06b4\u06b2\u0001\u0000\u0000\u0000\u06b5\u06b8\u0001\u0000\u0000"+
54553 "\u0000\u06b6\u06b4\u0001\u0000\u0000\u0000\u06b6\u06b7\u0001\u0000\u0000"+
54554 "\u0000\u06b7\u06c4\u0001\u0000\u0000\u0000\u06b8\u06b6\u0001\u0000\u0000"+
54555 "\u0000\u06b9\u06ba\u0005|\u0000\u0000\u06ba\u06bb\u0003b1\u0000\u06bb"+
54556 "\u06c2\u0007\u0010\u0000\u0000\u06bc\u06bd\u0005\u01b7\u0000\u0000\u06bd"+
54557 "\u06be\u0007\u0011\u0000\u0000\u06be\u06bf\u0003b1\u0000\u06bf\u06c0\u0007"+
54558 "\u0010\u0000\u0000\u06c0\u06c1\u0005\u01b9\u0000\u0000\u06c1\u06c3\u0001"+
54559 "\u0000\u0000\u0000\u06c2\u06bc\u0001\u0000\u0000\u0000\u06c2\u06c3\u0001"+
54560 "\u0000\u0000\u0000\u06c3\u06c5\u0001\u0000\u0000\u0000\u06c4\u06b9\u0001"+
54561 "\u0000\u0000\u0000\u06c4\u06c5\u0001\u0000\u0000\u0000\u06c5\u009b\u0001"+
54562 "\u0000\u0000\u0000\u06c6\u06ca\u0003H$\u0000\u06c7\u06ca\u0003\u001e\u000f"+
54563 "\u0000\u06c8\u06ca\u0003b1\u0000\u06c9\u06c6\u0001\u0000\u0000\u0000\u06c9"+
54564 "\u06c7\u0001\u0000\u0000\u0000\u06c9\u06c8\u0001\u0000\u0000\u0000\u06ca"+
54565 "\u06cd\u0001\u0000\u0000\u0000\u06cb\u06cc\u0005\u0107\u0000\u0000\u06cc"+
54566 "\u06ce\u0003*\u0015\u0000\u06cd\u06cb\u0001\u0000\u0000\u0000\u06cd\u06ce"+
54567 "\u0001\u0000\u0000\u0000\u06ce\u06d0\u0001\u0000\u0000\u0000\u06cf\u06d1"+
54568 "\u0007\u0012\u0000\u0000\u06d0\u06cf\u0001\u0000\u0000\u0000\u06d0\u06d1"+
54569 "\u0001\u0000\u0000\u0000\u06d1\u009d\u0001\u0000\u0000\u0000\u06d2\u06d3"+
54570 "\u0003\u00d4j\u0000\u06d3\u06d4\u0005\u0014\u0000\u0000\u06d4\u06d6\u0001"+
54571 "\u0000\u0000\u0000\u06d5\u06d2\u0001\u0000\u0000\u0000\u06d5\u06d6\u0001"+
54572 "\u0000\u0000\u0000\u06d6\u06d7\u0001\u0000\u0000\u0000\u06d7\u06e3\u0003"+
54573 "\u00a0P\u0000\u06d8\u06e4\u0003^/\u0000\u06d9\u06da\u0005\u001f\u0000"+
54574 "\u0000\u06da\u06db\u0005\u0095\u0000\u0000\u06db\u06e4\u0005 \u0000\u0000"+
54575 "\u06dc\u06de\u0005\u001f\u0000\u0000\u06dd\u06df\u0007\u0013\u0000\u0000"+
54576 "\u06de\u06dd\u0001\u0000\u0000\u0000\u06de\u06df\u0001\u0000\u0000\u0000"+
54577 "\u06df\u06e0\u0001\u0000\u0000\u0000\u06e0\u06e1\u0003\u00d4j\u0000\u06e1"+
54578 "\u06e2\u0005 \u0000\u0000\u06e2\u06e4\u0001\u0000\u0000\u0000\u06e3\u06d8"+
54579 "\u0001\u0000\u0000\u0000\u06e3\u06d9\u0001\u0000\u0000\u0000\u06e3\u06dc"+
54580 "\u0001\u0000\u0000\u0000\u06e3\u06e4\u0001\u0000\u0000\u0000\u06e4\u009f"+
54581 "\u0001\u0000\u0000\u0000\u06e5\u06e6\u0007\u0014\u0000\u0000\u06e6\u00a1"+
54582 "\u0001\u0000\u0000\u0000\u06e7\u06eb\u0005\u02c8\u0000\u0000\u06e8\u06e9"+
54583 "\u0005M\u0000\u0000\u06e9\u06ea\u0005\u0088\u0000\u0000\u06ea\u06ec\u0005"+
54584 "\u013d\u0000\u0000\u06eb\u06e8\u0001\u0000\u0000\u0000\u06eb\u06ec\u0001"+
54585 "\u0000\u0000\u0000\u06ec\u06ed\u0001\u0000\u0000\u0000\u06ed\u06ee\u0005"+
54586 "\u02ca\u0000\u0000\u06ee\u00a3\u0001\u0000\u0000\u0000\u06ef\u06f0\u0005"+
54587 "R\u0000\u0000\u06f0\u06f1\u0005\u001f\u0000\u0000\u06f1\u06f2\u0003b1"+
54588 "\u0000\u06f2\u06f3\u0005`\u0000\u0000\u06f3\u06f7\u0003\u009eO\u0000\u06f4"+
54589 "\u06f5\u0005\u001f\u0000\u0000\u06f5\u06f6\u0005\u02cb\u0000\u0000\u06f6"+
54590 "\u06f8\u0005 \u0000\u0000\u06f7\u06f4\u0001\u0000\u0000\u0000\u06f7\u06f8"+
54591 "\u0001\u0000\u0000\u0000\u06f8\u06f9\u0001\u0000\u0000\u0000\u06f9\u06fa"+
54592 "\u0005 \u0000\u0000\u06fa\u00a5\u0001\u0000\u0000\u0000\u06fb\u06fc\u0005"+
54593 "\u010a\u0000\u0000\u06fc\u0700\u0003\u009eO\u0000\u06fd\u06fe\u0005\u001f"+
54594 "\u0000\u0000\u06fe\u06ff\u0005\u02cb\u0000\u0000\u06ff\u0701\u0005 \u0000"+
54595 "\u0000\u0700\u06fd\u0001\u0000\u0000\u0000\u0700\u0701\u0001\u0000\u0000"+
54596 "\u0000\u0701\u0702\u0001\u0000\u0000\u0000\u0702\u0703\u0005%\u0000\u0000"+
54597 "\u0703\u0706\u0003b1\u0000\u0704\u0705\u0005%\u0000\u0000\u0705\u0707"+
54598 "\u0005\u02cb\u0000\u0000\u0706\u0704\u0001\u0000\u0000\u0000\u0706\u0707"+
54599 "\u0001\u0000\u0000\u0000\u0707\u00a7\u0001\u0000\u0000\u0000\u0708\u0709"+
54600 "\u0003v;\u0000\u0709\u070a\u0003\u00aaU\u0000\u070a\u00a9\u0001\u0000"+
54601 "\u0000\u0000\u070b\u070c\u0005\u012a\u0000\u0000\u070c\u070e\u0005\u001f"+
54602 "\u0000\u0000\u070d\u070f\u0003\u00acV\u0000\u070e\u070d\u0001\u0000\u0000"+
54603 "\u0000\u070e\u070f\u0001\u0000\u0000\u0000\u070f\u0711\u0001\u0000\u0000"+
54604 "\u0000\u0710\u0712\u0003\u009aM\u0000\u0711\u0710\u0001\u0000\u0000\u0000"+
54605 "\u0711\u0712\u0001\u0000\u0000\u0000\u0712\u0714\u0001\u0000\u0000\u0000"+
54606 "\u0713\u0715\u0003\u00aeW\u0000\u0714\u0713\u0001\u0000\u0000\u0000\u0714"+
54607 "\u0715\u0001\u0000\u0000\u0000\u0715\u0716\u0001\u0000\u0000\u0000\u0716"+
54608 "\u0717\u0005 \u0000\u0000\u0717\u00ab\u0001\u0000\u0000\u0000\u0718\u0719"+
54609 "\u0005\u00ee\u0000\u0000\u0719\u071a\u0005w\u0000\u0000\u071a\u071f\u0003"+
54610 "b1\u0000\u071b\u071c\u0005%\u0000\u0000\u071c\u071e\u0003b1\u0000\u071d"+
54611 "\u071b\u0001\u0000\u0000\u0000\u071e\u0721\u0001\u0000\u0000\u0000\u071f"+
54612 "\u071d\u0001\u0000\u0000\u0000\u071f\u0720\u0001\u0000\u0000\u0000\u0720"+
54613 "\u00ad\u0001\u0000\u0000\u0000\u0721\u071f\u0001\u0000\u0000\u0000\u0722"+
54614 "\u0723\u0007\u0015\u0000\u0000\u0723\u0724\u0003\u00b0X\u0000\u0724\u00af"+
54615 "\u0001\u0000\u0000\u0000\u0725\u0728\u0003\u00b6[\u0000\u0726\u0728\u0003"+
54616 "\u00b2Y\u0000\u0727\u0725\u0001\u0000\u0000\u0000\u0727\u0726\u0001\u0000"+
54617 "\u0000\u0000\u0728\u00b1\u0001\u0000\u0000\u0000\u0729\u072a\u0005p\u0000"+
54618 "\u0000\u072a\u072b\u0003\u00b4Z\u0000\u072b\u072c\u0005h\u0000\u0000\u072c"+
54619 "\u072d\u0003\u00b4Z\u0000\u072d\u00b3\u0001\u0000\u0000\u0000\u072e\u0731"+
54620 "\u0003\u00b6[\u0000\u072f\u0731\u0003\u00b8\\\u0000\u0730\u072e\u0001"+
54621 "\u0000\u0000\u0000\u0730\u072f\u0001\u0000\u0000\u0000\u0731\u00b5\u0001"+
54622 "\u0000\u0000\u0000\u0732\u0733\u0005\u0120\u0000\u0000\u0733\u0739\u0005"+
54623 "\u012f\u0000\u0000\u0734\u0735\u0005\u02cb\u0000\u0000\u0735\u0739\u0005"+
54624 "\u012f\u0000\u0000\u0736\u0737\u0005\u009b\u0000\u0000\u0737\u0739\u0005"+
54625 "\u00f1\u0000\u0000\u0738\u0732\u0001\u0000\u0000\u0000\u0738\u0734\u0001"+
54626 "\u0000\u0000\u0000\u0738\u0736\u0001\u0000\u0000\u0000\u0739\u00b7\u0001"+
54627 "\u0000\u0000\u0000\u073a\u073b\u0005\u0120\u0000\u0000\u073b\u0741\u0005"+
54628 "\u011a\u0000\u0000\u073c\u073d\u0005\u02cb\u0000\u0000\u073d\u0741\u0005"+
54629 "\u011a\u0000\u0000\u073e\u073f\u0005\u009b\u0000\u0000\u073f\u0741\u0005"+
54630 "\u00f1\u0000\u0000\u0740\u073a\u0001\u0000\u0000\u0000\u0740\u073c\u0001"+
54631 "\u0000\u0000\u0000\u0740\u073e\u0001\u0000\u0000\u0000\u0741\u00b9\u0001"+
54632 "\u0000\u0000\u0000\u0742\u0744\u0003H$\u0000\u0743\u0745\u0007\u0012\u0000"+
54633 "\u0000\u0744\u0743\u0001\u0000\u0000\u0000\u0744\u0745\u0001\u0000\u0000"+
54634 "\u0000\u0745\u00bb\u0001\u0000\u0000\u0000\u0746\u0747\u0005\u0119\u0000"+
54635 "\u0000\u0747\u0748\u0005\u0018\u0000\u0000\u0748\u0754\u0005\u02cb\u0000"+
54636 "\u0000\u0749\u0754\u0003\u00c2a\u0000\u074a\u074b\u0007\u0016\u0000\u0000"+
54637 "\u074b\u0754\u0003\u00c0`\u0000\u074c\u074d\u0005\u0124\u0000\u0000\u074d"+
54638 "\u074e\u0005\u0018\u0000\u0000\u074e\u0754\u0005\u02cb\u0000\u0000\u074f"+
54639 "\u0751\u0003\u00be_\u0000\u0750\u0752\u0003\u00c8d\u0000\u0751\u0750\u0001"+
54640 "\u0000\u0000\u0000\u0751\u0752\u0001\u0000\u0000\u0000\u0752\u0754\u0001"+
54641 "\u0000\u0000\u0000\u0753\u0746\u0001\u0000\u0000\u0000\u0753\u0749\u0001"+
54642 "\u0000\u0000\u0000\u0753\u074a\u0001\u0000\u0000\u0000\u0753\u074c\u0001"+
54643 "\u0000\u0000\u0000\u0753\u074f\u0001\u0000\u0000\u0000\u0754\u00bd\u0001"+
54644 "\u0000\u0000\u0000\u0755\u0756\u0005\u0197\u0000\u0000\u0756\u0757\u0005"+
54645 "\u0018\u0000\u0000\u0757\u0758\u0007\u0017\u0000\u0000\u0758\u00bf\u0001"+
54646 "\u0000\u0000\u0000\u0759\u075a\u0005\u0018\u0000\u0000\u075a\u075c\u0005"+
54647 "\u02cb\u0000\u0000\u075b\u075d\u0005\u010f\u0000\u0000\u075c\u075b\u0001"+
54648 "\u0000\u0000\u0000\u075c\u075d\u0001\u0000\u0000\u0000\u075d\u00c1\u0001"+
54649 "\u0000\u0000\u0000\u075e\u075f\u0003\u00c4b\u0000\u075f\u0760\u0003\u00c6"+
54650 "c\u0000\u0760\u00c3\u0001\u0000\u0000\u0000\u0761\u0762\u0007\u0018\u0000"+
54651 "\u0000\u0762\u00c5\u0001\u0000\u0000\u0000\u0763\u0764\u0005\u0018\u0000"+
54652 "\u0000\u0764\u0765\u0007\u0000\u0000\u0000\u0765\u00c7\u0001\u0000\u0000"+
54653 "\u0000\u0766\u0767\u0005a\u0000\u0000\u0767\u0768\u0005\u00ef\u0000\u0000"+
54654 "\u0768\u0769\u0005\u001f\u0000\u0000\u0769\u076a\u0003\u00cae\u0000\u076a"+
54655 "\u076b\u0005 \u0000\u0000\u076b\u00c9\u0001\u0000\u0000\u0000\u076c\u0771"+
54656 "\u0003\u00ccf\u0000\u076d\u076e\u0005%\u0000\u0000\u076e\u0770\u0003\u00cc"+
54657 "f\u0000\u076f\u076d\u0001\u0000\u0000\u0000\u0770\u0773\u0001\u0000\u0000"+
54658 "\u0000\u0771\u076f\u0001\u0000\u0000\u0000\u0771\u0772\u0001\u0000\u0000"+
54659 "\u0000\u0772\u00cb\u0001\u0000\u0000\u0000\u0773\u0771\u0001\u0000\u0000"+
54660 "\u0000\u0774\u0777\u0005\u02cb\u0000\u0000\u0775\u0777\u0003\u00ceg\u0000"+
54661 "\u0776\u0774\u0001\u0000\u0000\u0000\u0776\u0775\u0001\u0000\u0000\u0000"+
54662 "\u0777\u00cd\u0001\u0000\u0000\u0000\u0778\u0779\u0005\u02cb\u0000\u0000"+
54663 "\u0779\u077a\u0005g\u0000\u0000\u077a\u077b\u0005\u02cb\u0000\u0000\u077b"+
54664 "\u00cf\u0001\u0000\u0000\u0000\u077c\u077d\u0005\u019d\u0000\u0000\u077d"+
54665 "\u077e\u0005\u001f\u0000\u0000\u077e\u077f\u0005\u01a6\u0000\u0000\u077f"+
54666 "\u0780\u0005\u0018\u0000\u0000\u0780\u0782\u0005\u02cb\u0000\u0000\u0781"+
54667 "\u0783\u0005\u010f\u0000\u0000\u0782\u0781\u0001\u0000\u0000\u0000\u0782"+
54668 "\u0783\u0001\u0000\u0000\u0000\u0783\u0784\u0001\u0000\u0000\u0000\u0784"+
54669 "\u0785\u0005%\u0000\u0000\u0785\u0786\u0005\u018d\u0000\u0000\u0786\u0787"+
54670 "\u0005\u0018\u0000\u0000\u0787\u0788\u0007\u0019\u0000\u0000\u0788\u0789"+
54671 "\u0005 \u0000\u0000\u0789\u00d1\u0001\u0000\u0000\u0000\u078a\u078f\u0005"+
54672 "a\u0000\u0000\u078b\u078c\u0005\u001f\u0000\u0000\u078c\u078d\u0003\u00d0"+
54673 "h\u0000\u078d\u078e\u0005 \u0000\u0000\u078e\u0790\u0001\u0000\u0000\u0000"+
54674 "\u078f\u078b\u0001\u0000\u0000\u0000\u078f\u0790\u0001\u0000\u0000\u0000"+
54675 "\u0790\u00d3\u0001\u0000\u0000\u0000\u0791\u0792\u0005\u02c8\u0000\u0000"+
54676 "\u0792\u00d5\u0001\u0000\u0000\u0000\u0793\u0798\u0003\u00d4j\u0000\u0794"+
54677 "\u0795\u0005%\u0000\u0000\u0795\u0797\u0003\u00d4j\u0000\u0796\u0794\u0001"+
54678 "\u0000\u0000\u0000\u0797\u079a\u0001\u0000\u0000\u0000\u0798\u0796\u0001"+
54679 "\u0000\u0000\u0000\u0798\u0799\u0001\u0000\u0000\u0000\u0799\u00d7\u0001"+
54680 "\u0000\u0000\u0000\u079a\u0798\u0001\u0000\u0000\u0000\u079b\u079c\u0005"+
54681 "\u0001\u0000\u0000\u079c\u00d9\u0001\u0000\u0000\u0000\u079d\u079e\u0003"+
54682 "*\u0015\u0000\u079e\u00db\u0001\u0000\u0000\u0000\u079f\u07a0\u0007\u001a"+
54683 "\u0000\u0000\u07a0\u07a5\u0005`\u0000\u0000\u07a1\u07a6\u0005\u020a\u0000"+
54684 "\u0000\u07a2\u07a6\u0005\u0138\u0000\u0000\u07a3\u07a6\u0005\u020f\u0000"+
54685 "\u0000\u07a4\u07a6\u0003\u001c\u000e\u0000\u07a5\u07a1\u0001\u0000\u0000"+
54686 "\u0000\u07a5\u07a2\u0001\u0000\u0000\u0000\u07a5\u07a3\u0001\u0000\u0000"+
54687 "\u0000\u07a5\u07a4\u0001\u0000\u0000\u0000\u07a6\u00dd\u0001\u0000\u0000"+
54688 "\u0000\u07a7\u07a8\u0003*\u0015\u0000\u07a8\u00df\u0001\u0000\u0000\u0000"+
54689 "\u07a9\u07aa\u0003\u00dam\u0000\u07aa\u00e1\u0001\u0000\u0000\u0000\u07ab"+
54690 "\u07ac\u0003*\u0015\u0000\u07ac\u00e3\u0001\u0000\u0000\u0000\u07ad\u07ae"+
54691 "\u0003\u00dam\u0000\u07ae\u00e5\u0001\u0000\u0000\u0000\u07af\u07b0\u0007"+
54692 "\u001b\u0000\u0000\u07b0\u00e7\u0001\u0000\u0000\u0000\u07b1\u07b2\u0005"+
54693 "c\u0000\u0000\u07b2\u07b3\u0005o\u0000\u0000\u07b3\u00e9\u0001\u0000\u0000"+
54694 "\u0000\u07b4\u07b5\u0007\u001c\u0000\u0000\u07b5\u00eb\u0001\u0000\u0000"+
54695 "\u0000\u07b6\u07b7\u0005\u009e\u0000\u0000\u07b7\u00ed\u0001\u0000\u0000"+
54696 "\u0000\u07b8\u07ba\u0005\u0295\u0000\u0000\u07b9\u07bb\u0005\u0296\u0000"+
54697 "\u0000\u07ba\u07b9\u0001\u0000\u0000\u0000\u07ba\u07bb\u0001\u0000\u0000"+
54698 "\u0000\u07bb\u07bc\u0001\u0000\u0000\u0000\u07bc\u07bd\u0003\u00f0x\u0000"+
54699 "\u07bd\u00ef\u0001\u0000\u0000\u0000\u07be\u07c4\u0003\u02ca\u0165\u0000"+
54700 "\u07bf\u07c4\u0003\u02aa\u0155\u0000\u07c0\u07c4\u0003\u02b8\u015c\u0000"+
54701 "\u07c1\u07c4\u0003\u02c2\u0161\u0000\u07c2\u07c4\u0003\u02a0\u0150\u0000"+
54702 "\u07c3\u07be\u0001\u0000\u0000\u0000\u07c3\u07bf\u0001\u0000\u0000\u0000"+
54703 "\u07c3\u07c0\u0001\u0000\u0000\u0000\u07c3\u07c1\u0001\u0000\u0000\u0000"+
54704 "\u07c3\u07c2\u0001\u0000\u0000\u0000\u07c4\u00f1\u0001\u0000\u0000\u0000"+
54705 "\u07c5\u07c8\u0003\u00f4z\u0000\u07c6\u07c8\u0003\u02a0\u0150\u0000\u07c7"+
54706 "\u07c5\u0001\u0000\u0000\u0000\u07c7\u07c6\u0001\u0000\u0000\u0000\u07c8"+
54707 "\u00f3\u0001\u0000\u0000\u0000\u07c9\u07ca\u00052\u0000\u0000\u07ca\u07cb"+
54708 "\u0005;\u0000\u0000\u07cb\u07cc\u0003@ \u0000\u07cc\u07cd\u0003\u013c"+
54709 "\u009e\u0000\u07cd\u07ce\u0003\u013e\u009f\u0000\u07ce\u00f5\u0001\u0000"+
54710 "\u0000\u0000\u07cf\u07d0\u00052\u0000\u0000\u07d0\u07d1\u0003\u01ac\u00d6"+
54711 "\u0000\u07d1\u07d2\u0005>\u0000\u0000\u07d2\u07d3\u0003V+\u0000\u07d3"+
54712 "\u07d4\u0005a\u0000\u0000\u07d4\u07d5\u0003@ \u0000\u07d5\u07d6\u0003"+
54713 "R)\u0000\u07d6\u07d7\u0003\u0252\u0129\u0000\u07d7\u00f7\u0001\u0000\u0000"+
54714 "\u0000\u07d8\u07d9\u00052\u0000\u0000\u07d9\u07da\u0005\u00cc\u0000\u0000"+
54715 "\u07da\u07db\u00032\u0019\u0000\u07db\u07dc\u0003\u01f4\u00fa\u0000\u07dc"+
54716 "\u00f9\u0001\u0000\u0000\u0000\u07dd\u07e0\u00052\u0000\u0000\u07de\u07df"+
54717 "\u0005i\u0000\u0000\u07df\u07e1\u00053\u0000\u0000\u07e0\u07de\u0001\u0000"+
54718 "\u0000\u0000\u07e0\u07e1\u0001\u0000\u0000\u0000\u07e1\u07e2\u0001\u0000"+
54719 "\u0000\u0000\u07e2\u07e3\u0005F\u0000\u0000\u07e3\u07e4\u00036\u001b\u0000"+
54720 "\u07e4\u07e5\u0003\u0220\u0110\u0000\u07e5\u07e6\u0003\u0222\u0111\u0000"+
54721 "\u07e6\u00fb\u0001\u0000\u0000\u0000\u07e7\u07ea\u00052\u0000\u0000\u07e8"+
54722 "\u07e9\u0005i\u0000\u0000\u07e9\u07eb\u00053\u0000\u0000\u07ea\u07e8\u0001"+
54723 "\u0000\u0000\u0000\u07ea\u07eb\u0001\u0000\u0000\u0000\u07eb\u07ec\u0001"+
54724 "\u0000\u0000\u0000\u07ec\u07ed\u0007\u001d\u0000\u0000\u07ed\u07ee\u0003"+
54725 "8\u001c\u0000\u07ee\u07ef\u0003\u0232\u0119\u0000\u07ef\u07f0\u0003\u0236"+
54726 "\u011b\u0000\u07f0\u00fd\u0001\u0000\u0000\u0000\u07f1\u07f4\u00052\u0000"+
54727 "\u0000\u07f2\u07f3\u0005i\u0000\u0000\u07f3\u07f5\u00053\u0000\u0000\u07f4"+
54728 "\u07f2\u0001\u0000\u0000\u0000\u07f4\u07f5\u0001\u0000\u0000\u0000\u07f5"+
54729 "\u07f6\u0001\u0000\u0000\u0000\u07f6\u07f7\u0005J\u0000\u0000\u07f7\u07f8"+
54730 "\u0003:\u001d\u0000\u07f8\u07f9\u0003\u0240\u0120\u0000\u07f9\u00ff\u0001"+
54731 "\u0000\u0000\u0000\u07fa\u07fd\u00052\u0000\u0000\u07fb\u07fc\u0005i\u0000"+
54732 "\u0000\u07fc\u07fe\u00053\u0000\u0000\u07fd\u07fb\u0001\u0000\u0000\u0000"+
54733 "\u07fd\u07fe\u0001\u0000\u0000\u0000\u07fe\u07ff\u0001\u0000\u0000\u0000"+
54734 "\u07ff\u0800\u0005G\u0000\u0000\u0800\u0801\u0003<\u001e\u0000\u0801\u0802"+
54735 "\u0005a\u0000\u0000\u0802\u0803\u0003\u024e\u0127\u0000\u0803\u0804\u0003"+
54736 "\u0248\u0124\u0000\u0804\u0101\u0001\u0000\u0000\u0000\u0805\u0806\u0005"+
54737 "2\u0000\u0000\u0806\u0807\u0005\u018c\u0000\u0000\u0807\u080b\u0003>\u001f"+
54738 "\u0000\u0808\u080a\u0003\u0250\u0128\u0000\u0809\u0808\u0001\u0000\u0000"+
54739 "\u0000\u080a\u080d\u0001\u0000\u0000\u0000\u080b\u0809\u0001\u0000\u0000"+
54740 "\u0000\u080b\u080c\u0001\u0000\u0000\u0000\u080c\u0103\u0001\u0000\u0000"+
54741 "\u0000\u080d\u080b\u0001\u0000\u0000\u0000\u080e\u080f\u00052\u0000\u0000"+
54742 "\u080f\u0810\u0005\u016b\u0000\u0000\u0810\u0813\u0003F#\u0000\u0811\u0812"+
54743 "\u0005\u0293\u0000\u0000\u0812\u0814\u0005\u02ca\u0000\u0000\u0813\u0811"+
54744 "\u0001\u0000\u0000\u0000\u0813\u0814\u0001\u0000\u0000\u0000\u0814\u0815"+
54745 "\u0001\u0000\u0000\u0000\u0815\u0816\u0005a\u0000\u0000\u0816\u0817\u0005"+
54746 "\u017f\u0000\u0000\u0817\u0819\u0003B!\u0000\u0818\u081a\u0003\u0296\u014b"+
54747 "\u0000\u0819\u0818\u0001\u0000\u0000\u0000\u0819\u081a\u0001\u0000\u0000"+
54748 "\u0000\u081a\u0105\u0001\u0000\u0000\u0000\u081b\u081c\u00052\u0000\u0000"+
54749 "\u081c\u081d\u00056\u0000\u0000\u081d\u0821\u0003\u029c\u014e\u0000\u081e"+
54750 "\u0820\u0003\u029e\u014f\u0000\u081f\u081e\u0001\u0000\u0000\u0000\u0820"+
54751 "\u0823\u0001\u0000\u0000\u0000\u0821\u081f\u0001\u0000\u0000\u0000\u0821"+
54752 "\u0822\u0001\u0000\u0000\u0000\u0822\u0107\u0001\u0000\u0000\u0000\u0823"+
54753 "\u0821\u0001\u0000\u0000\u0000\u0824\u0825\u00053\u0000\u0000\u0825\u0826"+
54754 "\u0005;\u0000\u0000\u0826\u0827\u0003@ \u0000\u0827\u082c\u0003\u01ae"+
54755 "\u00d7\u0000\u0828\u0829\u0005%\u0000\u0000\u0829\u082b\u0003\u01ae\u00d7"+
54756 "\u0000\u082a\u0828\u0001\u0000\u0000\u0000\u082b\u082e\u0001\u0000\u0000"+
54757 "\u0000\u082c\u082a\u0001\u0000\u0000\u0000\u082c\u082d\u0001\u0000\u0000"+
54758 "\u0000\u082d\u0109\u0001\u0000\u0000\u0000\u082e\u082c\u0001\u0000\u0000"+
54759 "\u0000\u082f\u0830\u00053\u0000\u0000\u0830\u0833\u0005>\u0000\u0000\u0831"+
54760 "\u0834\u0003V+\u0000\u0832\u0834\u0005r\u0000\u0000\u0833\u0831\u0001"+
54761 "\u0000\u0000\u0000\u0833\u0832\u0001\u0000\u0000\u0000\u0834\u0835\u0001"+
54762 "\u0000\u0000\u0000\u0835\u0836\u0005a\u0000\u0000\u0836\u0837\u0003@ "+
54763 "\u0000\u0837\u0838\u0003\u0258\u012c\u0000\u0838\u010b\u0001\u0000\u0000"+
54764 "\u0000\u0839\u083a\u00053\u0000\u0000\u083a\u083d\u0005\u00cc\u0000\u0000"+
54765 "\u083b\u083e\u00032\u0019\u0000\u083c\u083e\u0005\u009b\u0000\u0000\u083d"+
54766 "\u083b\u0001\u0000\u0000\u0000\u083d\u083c\u0001\u0000\u0000\u0000\u083e"+
54767 "\u0842\u0001\u0000\u0000\u0000\u083f\u0841\u0003\u0264\u0132\u0000\u0840"+
54768 "\u083f\u0001\u0000\u0000\u0000\u0841\u0844\u0001\u0000\u0000\u0000\u0842"+
54769 "\u0840\u0001\u0000\u0000\u0000\u0842\u0843\u0001\u0000\u0000\u0000\u0843"+
54770 "\u010d\u0001\u0000\u0000\u0000\u0844\u0842\u0001\u0000\u0000\u0000\u0845"+
54771 "\u0846\u00053\u0000\u0000\u0846\u0847\u0007\u001d\u0000\u0000\u0847\u0848"+
54772 "\u00038\u001c\u0000\u0848\u0849\u0003\u0232\u0119\u0000\u0849\u084a\u0003"+
54773 "\u0236\u011b\u0000\u084a\u010f\u0001\u0000\u0000\u0000\u084b\u084c\u0005"+
54774 "3\u0000\u0000\u084c\u084d\u0005F\u0000\u0000\u084d\u084e\u00036\u001b"+
54775 "\u0000\u084e\u084f\u0003\u0220\u0110\u0000\u084f\u0850\u0003\u0222\u0111"+
54776 "\u0000\u0850\u0111\u0001\u0000\u0000\u0000\u0851\u0852\u00053\u0000\u0000"+
54777 "\u0852\u0853\u0005J\u0000\u0000\u0853\u0854\u0003:\u001d\u0000\u0854\u0855"+
54778 "\u0003\u0240\u0120\u0000\u0855\u0113\u0001\u0000\u0000\u0000\u0856\u0857"+
54779 "\u00053\u0000\u0000\u0857\u0858\u0005G\u0000\u0000\u0858\u0859\u0003<"+
54780 "\u001e\u0000\u0859\u085a\u0005a\u0000\u0000\u085a\u085b\u0003\u024e\u0127"+
54781 "\u0000\u085b\u085c\u0003\u0248\u0124\u0000\u085c\u0115\u0001\u0000\u0000"+
54782 "\u0000\u085d\u085e\u00053\u0000\u0000\u085e\u085f\u0005\u018c\u0000\u0000"+
54783 "\u085f\u0863\u0003>\u001f\u0000\u0860\u0862\u0003\u0250\u0128\u0000\u0861"+
54784 "\u0860\u0001\u0000\u0000\u0000\u0862\u0865\u0001\u0000\u0000\u0000\u0863"+
54785 "\u0861\u0001\u0000\u0000\u0000\u0863\u0864\u0001\u0000\u0000\u0000\u0864"+
54786 "\u0117\u0001\u0000\u0000\u0000\u0865\u0863\u0001\u0000\u0000\u0000\u0866"+
54787 "\u0867\u00053\u0000\u0000\u0867\u0868\u0005\u016b\u0000\u0000\u0868\u086c"+
54788 "\u0003F#\u0000\u0869\u086a\u0005a\u0000\u0000\u086a\u086b\u0005\u017f"+
54789 "\u0000\u0000\u086b\u086d\u0003B!\u0000\u086c\u0869\u0001\u0000\u0000\u0000"+
54790 "\u086c\u086d\u0001\u0000\u0000\u0000\u086d\u086f\u0001\u0000\u0000\u0000"+
54791 "\u086e\u0870\u0003\u0298\u014c\u0000\u086f\u086e\u0001\u0000\u0000\u0000"+
54792 "\u086f\u0870\u0001\u0000\u0000\u0000\u0870\u0119\u0001\u0000\u0000\u0000"+
54793 "\u0871\u0872\u00053\u0000\u0000\u0872\u0873\u00056\u0000\u0000\u0873\u0874"+
54794 "\u00034\u001a\u0000\u0874\u0876\u0005\u0294\u0000\u0000\u0875\u0877\u0003"+
54795 "\u0376\u01bb\u0000\u0876\u0875\u0001\u0000\u0000\u0000\u0876\u0877\u0001"+
54796 "\u0000\u0000\u0000\u0877\u0878\u0001\u0000\u0000\u0000\u0878\u0879\u0003"+
54797 "\u00d4j\u0000\u0879\u011b\u0001\u0000\u0000\u0000\u087a\u087b\u00054\u0000"+
54798 "\u0000\u087b\u087d\u0005;\u0000\u0000\u087c\u087e\u0003\u00e8t\u0000\u087d"+
54799 "\u087c\u0001\u0000\u0000\u0000\u087d\u087e\u0001\u0000\u0000\u0000\u087e"+
54800 "\u087f\u0001\u0000\u0000\u0000\u087f\u0880\u0003T*\u0000\u0880\u011d\u0001"+
54801 "\u0000\u0000\u0000\u0881\u0882\u00054\u0000\u0000\u0882\u0884\u0005>\u0000"+
54802 "\u0000\u0883\u0885\u0003\u00e8t\u0000\u0884\u0883\u0001\u0000\u0000\u0000"+
54803 "\u0884\u0885\u0001\u0000\u0000\u0000\u0885\u0886\u0001\u0000\u0000\u0000"+
54804 "\u0886\u0887\u0003V+\u0000\u0887\u0888\u0005a\u0000\u0000\u0888\u0889"+
54805 "\u0003@ \u0000\u0889\u011f\u0001\u0000\u0000\u0000\u088a\u088b\u00054"+
54806 "\u0000\u0000\u088b\u088d\u0005\u00cc\u0000\u0000\u088c\u088e\u0003\u00e8"+
54807 "t\u0000\u088d\u088c\u0001\u0000\u0000\u0000\u088d\u088e\u0001\u0000\u0000"+
54808 "\u0000\u088e\u088f\u0001\u0000\u0000\u0000\u088f\u0894\u00032\u0019\u0000"+
54809 "\u0890\u0891\u0005%\u0000\u0000\u0891\u0893\u00032\u0019\u0000\u0892\u0890"+
54810 "\u0001\u0000\u0000\u0000\u0893\u0896\u0001\u0000\u0000\u0000\u0894\u0892"+
54811 "\u0001\u0000\u0000\u0000\u0894\u0895\u0001\u0000\u0000\u0000\u0895\u0121"+
54812 "\u0001\u0000\u0000\u0000\u0896\u0894\u0001\u0000\u0000\u0000\u0897\u0898"+
54813 "\u00054\u0000\u0000\u0898\u089a\u0005F\u0000\u0000\u0899\u089b\u0003\u00e8"+
54814 "t\u0000\u089a\u0899\u0001\u0000\u0000\u0000\u089a\u089b\u0001\u0000\u0000"+
54815 "\u0000\u089b\u089c\u0001\u0000\u0000\u0000\u089c\u08a1\u00036\u001b\u0000"+
54816 "\u089d\u089e\u0005%\u0000\u0000\u089e\u08a0\u00036\u001b\u0000\u089f\u089d"+
54817 "\u0001\u0000\u0000\u0000\u08a0\u08a3\u0001\u0000\u0000\u0000\u08a1\u089f"+
54818 "\u0001\u0000\u0000\u0000\u08a1\u08a2\u0001\u0000\u0000\u0000\u08a2\u0123"+
54819 "\u0001\u0000\u0000\u0000\u08a3\u08a1\u0001\u0000\u0000\u0000\u08a4\u08a5"+
54820 "\u00054\u0000\u0000\u08a5\u08a7\u0007\u001d\u0000\u0000\u08a6\u08a8\u0003"+
54821 "\u00e8t\u0000\u08a7\u08a6\u0001\u0000\u0000\u0000\u08a7\u08a8\u0001\u0000"+
54822 "\u0000\u0000\u08a8\u08a9\u0001\u0000\u0000\u0000\u08a9\u08ae\u00038\u001c"+
54823 "\u0000\u08aa\u08ab\u0005%\u0000\u0000\u08ab\u08ad\u00038\u001c\u0000\u08ac"+
54824 "\u08aa\u0001\u0000\u0000\u0000\u08ad\u08b0\u0001\u0000\u0000\u0000\u08ae"+
54825 "\u08ac\u0001\u0000\u0000\u0000\u08ae\u08af\u0001\u0000\u0000\u0000\u08af"+
54826 "\u0125\u0001\u0000\u0000\u0000\u08b0\u08ae\u0001\u0000\u0000\u0000\u08b1"+
54827 "\u08b2\u00054\u0000\u0000\u08b2\u08b4\u0005J\u0000\u0000\u08b3\u08b5\u0003"+
54828 "\u00e8t\u0000\u08b4\u08b3\u0001\u0000\u0000\u0000\u08b4\u08b5\u0001\u0000"+
54829 "\u0000\u0000\u08b5\u08b6\u0001\u0000\u0000\u0000\u08b6\u08bb\u0003:\u001d"+
54830 "\u0000\u08b7\u08b8\u0005%\u0000\u0000\u08b8\u08ba\u0003:\u001d\u0000\u08b9"+
54831 "\u08b7\u0001\u0000\u0000\u0000\u08ba\u08bd\u0001\u0000\u0000\u0000\u08bb"+
54832 "\u08b9\u0001\u0000\u0000\u0000\u08bb\u08bc\u0001\u0000\u0000\u0000\u08bc"+
54833 "\u0127\u0001\u0000\u0000\u0000\u08bd\u08bb\u0001\u0000\u0000\u0000\u08be"+
54834 "\u08bf\u00054\u0000\u0000\u08bf\u08c1\u0005G\u0000\u0000\u08c0\u08c2\u0003"+
54835 "\u00e8t\u0000\u08c1\u08c0\u0001\u0000\u0000\u0000\u08c1\u08c2\u0001\u0000"+
54836 "\u0000\u0000\u08c2\u08c3\u0001\u0000\u0000\u0000\u08c3\u08c8\u0003<\u001e"+
54837 "\u0000\u08c4\u08c5\u0005%\u0000\u0000\u08c5\u08c7\u0003<\u001e\u0000\u08c6"+
54838 "\u08c4\u0001\u0000\u0000\u0000\u08c7\u08ca\u0001\u0000\u0000\u0000\u08c8"+
54839 "\u08c6\u0001\u0000\u0000\u0000\u08c8\u08c9\u0001\u0000\u0000\u0000\u08c9"+
54840 "\u08d1\u0001\u0000\u0000\u0000\u08ca\u08c8\u0001\u0000\u0000\u0000\u08cb"+
54841 "\u08cf\u0005a\u0000\u0000\u08cc\u08d0\u0005\u00cc\u0000\u0000\u08cd\u08ce"+
54842 "\u0005r\u0000\u0000\u08ce\u08d0\u0005\u014d\u0000\u0000\u08cf\u08cc\u0001"+
54843 "\u0000\u0000\u0000\u08cf\u08cd\u0001\u0000\u0000\u0000\u08d0\u08d2\u0001"+
54844 "\u0000\u0000\u0000\u08d1\u08cb\u0001\u0000\u0000\u0000\u08d1\u08d2\u0001"+
54845 "\u0000\u0000\u0000\u08d2\u0129\u0001\u0000\u0000\u0000\u08d3\u08d4\u0005"+
54846 "4\u0000\u0000\u08d4\u08d6\u0005\u018c\u0000\u0000\u08d5\u08d7\u0003\u00e8"+
54847 "t\u0000\u08d6\u08d5\u0001\u0000\u0000\u0000\u08d6\u08d7\u0001\u0000\u0000"+
54848 "\u0000\u08d7\u08d8\u0001\u0000\u0000\u0000\u08d8\u08dd\u0003>\u001f\u0000"+
54849 "\u08d9\u08da\u0005%\u0000\u0000\u08da\u08dc\u0003>\u001f\u0000\u08db\u08d9"+
54850 "\u0001\u0000\u0000\u0000\u08dc\u08df\u0001\u0000\u0000\u0000\u08dd\u08db"+
54851 "\u0001\u0000\u0000\u0000\u08dd\u08de\u0001\u0000\u0000\u0000\u08de\u012b"+
54852 "\u0001\u0000\u0000\u0000\u08df\u08dd\u0001\u0000\u0000\u0000\u08e0\u08e1"+
54853 "\u00054\u0000\u0000\u08e1\u08e2\u0005\u016b\u0000\u0000\u08e2\u08e3\u0003"+
54854 "F#\u0000\u08e3\u012d\u0001\u0000\u0000\u0000\u08e4\u08e5\u00054\u0000"+
54855 "\u0000\u08e5\u08e7\u00056\u0000\u0000\u08e6\u08e8\u0003\u00e8t\u0000\u08e7"+
54856 "\u08e6\u0001\u0000\u0000\u0000\u08e7\u08e8\u0001\u0000\u0000\u0000\u08e8"+
54857 "\u08e9\u0001\u0000\u0000\u0000\u08e9\u08ea\u00034\u001a\u0000\u08ea\u012f"+
54858 "\u0001\u0000\u0000\u0000\u08eb\u08ec\u00055\u0000\u0000\u08ec\u08ed\u0005"+
54859 ";\u0000\u0000\u08ed\u08ee\u0003@ \u0000\u08ee\u0131\u0001\u0000\u0000"+
54860 "\u0000\u08ef\u08f0\u00050\u0000\u0000\u08f0\u08f1\u0005\u02bf\u0000\u0000"+
54861 "\u08f1\u0900\u0003@ \u0000\u08f2\u08f4\u0005\u001f\u0000\u0000\u08f3\u08f2"+
54862 "\u0001\u0000\u0000\u0000\u08f3\u08f4\u0001\u0000\u0000\u0000\u08f4\u08f5"+
54863 "\u0001\u0000\u0000\u0000\u08f5\u08fa\u0003V+\u0000\u08f6\u08f7\u0005%"+
54864 "\u0000\u0000\u08f7\u08f9\u0003V+\u0000\u08f8\u08f6\u0001\u0000\u0000\u0000"+
54865 "\u08f9\u08fc\u0001\u0000\u0000\u0000\u08fa\u08f8\u0001\u0000\u0000\u0000"+
54866 "\u08fa\u08fb\u0001\u0000\u0000\u0000\u08fb\u08fe\u0001\u0000\u0000\u0000"+
54867 "\u08fc\u08fa\u0001\u0000\u0000\u0000\u08fd\u08ff\u0005 \u0000\u0000\u08fe"+
54868 "\u08fd\u0001\u0000\u0000\u0000\u08fe\u08ff\u0001\u0000\u0000\u0000\u08ff"+
54869 "\u0901\u0001\u0000\u0000\u0000\u0900\u08f3\u0001\u0000\u0000\u0000\u0900"+
54870 "\u0901\u0001\u0000\u0000\u0000\u0901\u0903\u0001\u0000\u0000\u0000\u0902"+
54871 "\u0904\u0003\u0134\u009a\u0000\u0903\u0902\u0001\u0000\u0000\u0000\u0903"+
54872 "\u0904\u0001\u0000\u0000\u0000\u0904\u0133\u0001\u0000\u0000\u0000\u0905"+
54873 "\u0907\u0005M\u0000\u0000\u0906\u0908\u0003\u0136\u009b\u0000\u0907\u0906"+
54874 "\u0001\u0000\u0000\u0000\u0907\u0908\u0001\u0000\u0000\u0000\u0908\u090a"+
54875 "\u0001\u0000\u0000\u0000\u0909\u090b\u0003\u0138\u009c\u0000\u090a\u0909"+
54876 "\u0001\u0000\u0000\u0000\u090a\u090b\u0001\u0000\u0000\u0000\u090b\u0135"+
54877 "\u0001\u0000\u0000\u0000\u090c\u0911\u0005\u02c0\u0000\u0000\u090d\u090e"+
54878 "\u0005\u02c1\u0000\u0000\u090e\u090f\u0005\u02cb\u0000\u0000\u090f\u0911"+
54879 "\u0007\u001e\u0000\u0000\u0910\u090c\u0001\u0000\u0000\u0000\u0910\u090d"+
54880 "\u0001\u0000\u0000\u0000\u0911\u0915\u0001\u0000\u0000\u0000\u0912\u0913"+
54881 "\u0005\u02c5\u0000\u0000\u0913\u0914\u0005\u0018\u0000\u0000\u0914\u0916"+
54882 "\u0007\u0000\u0000\u0000\u0915\u0912\u0001\u0000\u0000\u0000\u0915\u0916"+
54883 "\u0001\u0000\u0000\u0000\u0916\u0927\u0001\u0000\u0000\u0000\u0917\u0924"+
54884 "\u0005\u02c2\u0000\u0000\u0918\u0919\u0005a\u0000\u0000\u0919\u091a\u0005"+
54885 "\u00ef\u0000\u0000\u091a\u091b\u0005\u001f\u0000\u0000\u091b\u0920\u0005"+
54886 "\u02cb\u0000\u0000\u091c\u091d\u0005%\u0000\u0000\u091d\u091f\u0005\u02cb"+
54887 "\u0000\u0000\u091e\u091c\u0001\u0000\u0000\u0000\u091f\u0922\u0001\u0000"+
54888 "\u0000\u0000\u0920\u091e\u0001\u0000\u0000\u0000\u0920\u0921\u0001\u0000"+
54889 "\u0000\u0000\u0921\u0923\u0001\u0000\u0000\u0000\u0922\u0920\u0001\u0000"+
54890 "\u0000\u0000\u0923\u0925\u0005 \u0000\u0000\u0924\u0918\u0001\u0000\u0000"+
54891 "\u0000\u0924\u0925\u0001\u0000\u0000\u0000\u0925\u0927\u0001\u0000\u0000"+
54892 "\u0000\u0926\u0910\u0001\u0000\u0000\u0000\u0926\u0917\u0001\u0000\u0000"+
54893 "\u0000\u0927\u0137\u0001\u0000\u0000\u0000\u0928\u092a\u0005%\u0000\u0000"+
54894 "\u0929\u0928\u0001\u0000\u0000\u0000\u0929\u092a\u0001\u0000\u0000\u0000"+
54895 "\u092a\u092b\u0001\u0000\u0000\u0000\u092b\u092d\u0003\u013a\u009d\u0000"+
54896 "\u092c\u0929\u0001\u0000\u0000\u0000\u092d\u092e\u0001\u0000\u0000\u0000"+
54897 "\u092e\u092c\u0001\u0000\u0000\u0000\u092e\u092f\u0001\u0000\u0000\u0000"+
54898 "\u092f\u0139\u0001\u0000\u0000\u0000\u0930\u093e\u0005r\u0000\u0000\u0931"+
54899 "\u093e\u0005=\u0000\u0000\u0932\u093e\u0005>\u0000\u0000\u0933\u093e\u0005"+
54900 "\u02c3\u0000\u0000\u0934\u0935\u0005\u026e\u0000\u0000\u0935\u0936\u0005"+
54901 "\u0018\u0000\u0000\u0936\u093e\u0007\u0000\u0000\u0000\u0937\u0938\u0005"+
54902 "\u0124\u0000\u0000\u0938\u0939\u0005\u0018\u0000\u0000\u0939\u093e\u0005"+
54903 "\u02cb\u0000\u0000\u093a\u093b\u0005\u02c4\u0000\u0000\u093b\u093c\u0005"+
54904 "\u0018\u0000\u0000\u093c\u093e\u0007\u0000\u0000\u0000\u093d\u0930\u0001"+
54905 "\u0000\u0000\u0000\u093d\u0931\u0001\u0000\u0000\u0000\u093d\u0932\u0001"+
54906 "\u0000\u0000\u0000\u093d\u0933\u0001\u0000\u0000\u0000\u093d\u0934\u0001"+
54907 "\u0000\u0000\u0000\u093d\u0937\u0001\u0000\u0000\u0000\u093d\u093a\u0001"+
54908 "\u0000\u0000\u0000\u093e\u013b\u0001\u0000\u0000\u0000\u093f\u0940\u0005"+
54909 "`\u0000\u0000\u0940\u0942\u0005\u0118\u0000\u0000\u0941\u093f\u0001\u0000"+
54910 "\u0000\u0000\u0941\u0942\u0001\u0000\u0000\u0000\u0942\u013d\u0001\u0000"+
54911 "\u0000\u0000\u0943\u0944\u0003\u0140\u00a0\u0000\u0944\u0945\u0003\u0194"+
54912 "\u00ca\u0000\u0945\u0946\u0003\u0196\u00cb\u0000\u0946\u013f\u0001\u0000"+
54913 "\u0000\u0000\u0947\u0948\u0005\u001f\u0000\u0000\u0948\u094d\u0003\u0142"+
54914 "\u00a1\u0000\u0949\u094a\u0005%\u0000\u0000\u094a\u094c\u0003\u0142\u00a1"+
54915 "\u0000\u094b\u0949\u0001\u0000\u0000\u0000\u094c\u094f\u0001\u0000\u0000"+
54916 "\u0000\u094d\u094b\u0001\u0000\u0000\u0000\u094d\u094e\u0001\u0000\u0000"+
54917 "\u0000\u094e\u0952\u0001\u0000\u0000\u0000\u094f\u094d\u0001\u0000\u0000"+
54918 "\u0000\u0950\u0951\u0005%\u0000\u0000\u0951\u0953\u0003\u0192\u00c9\u0000"+
54919 "\u0952\u0950\u0001\u0000\u0000\u0000\u0952\u0953\u0001\u0000\u0000\u0000"+
54920 "\u0953\u0954\u0001\u0000\u0000\u0000\u0954\u0955\u0005 \u0000\u0000\u0955"+
54921 "\u0141\u0001\u0000\u0000\u0000\u0956\u095c\u0003\u0144\u00a2\u0000\u0957"+
54922 "\u095c\u0003\u017a\u00bd\u0000\u0958\u095c\u0003\u017c\u00be\u0000\u0959"+
54923 "\u095c\u0003\u017e\u00bf\u0000\u095a\u095c\u0003\u018c\u00c6\u0000\u095b"+
54924 "\u0956\u0001\u0000\u0000\u0000\u095b\u0957\u0001\u0000\u0000\u0000\u095b"+
54925 "\u0958\u0001\u0000\u0000\u0000\u095b\u0959\u0001\u0000\u0000\u0000\u095b"+
54926 "\u095a\u0001\u0000\u0000\u0000\u095c\u0143\u0001\u0000\u0000\u0000\u095d"+
54927 "\u095e\u0003H$\u0000\u095e\u0962\u0003\u009eO\u0000\u095f\u0961\u0003"+
54928 "\u0146\u00a3\u0000\u0960\u095f\u0001\u0000\u0000\u0000\u0961\u0964\u0001"+
54929 "\u0000\u0000\u0000\u0962\u0960\u0001\u0000\u0000\u0000\u0962\u0963\u0001"+
54930 "\u0000\u0000\u0000\u0963\u0965\u0001\u0000\u0000\u0000\u0964\u0962\u0001"+
54931 "\u0000\u0000\u0000\u0965\u0967\u0003\u0178\u00bc\u0000\u0966\u0968\u0003"+
54932 "\u016e\u00b7\u0000\u0967\u0966\u0001\u0000\u0000\u0000\u0967\u0968\u0001"+
54933 "\u0000\u0000\u0000\u0968\u0145\u0001\u0000\u0000\u0000\u0969\u099f\u0005"+
54934 "\u0117\u0000\u0000\u096a\u096b\u0005\u0107\u0000\u0000\u096b\u099f\u0003"+
54935 "Z-\u0000\u096c\u099f\u0005\u0139\u0000\u0000\u096d\u096e\u0005\u0123\u0000"+
54936 "\u0000\u096e\u096f\u0005M\u0000\u0000\u096f\u0970\u0005\u001f\u0000\u0000"+
54937 "\u0970\u0971\u0005F\u0000\u0000\u0971\u0972\u0005\u0018\u0000\u0000\u0972"+
54938 "\u0973\u0005\u02ca\u0000\u0000\u0973\u099f\u0005 \u0000\u0000\u0974\u0975"+
54939 "\u0005?\u0000\u0000\u0975\u0977\u0003\u00d4j\u0000\u0976\u0974\u0001\u0000"+
54940 "\u0000\u0000\u0976\u0977\u0001\u0000\u0000\u0000\u0977\u0978\u0001\u0000"+
54941 "\u0000\u0000\u0978\u0979\u0005\u009a\u0000\u0000\u0979\u099f\u0003b1\u0000"+
54942 "\u097a\u0980\u0005\u011d\u0000\u0000\u097b\u097c\u0005\u001f\u0000\u0000"+
54943 "\u097c\u097d\u0005\u02cb\u0000\u0000\u097d\u097e\u0005%\u0000\u0000\u097e"+
54944 "\u097f\u0005\u02cb\u0000\u0000\u097f\u0981\u0005 \u0000\u0000\u0980\u097b"+
54945 "\u0001\u0000\u0000\u0000\u0980\u0981\u0001\u0000\u0000\u0000\u0981\u099f"+
54946 "\u0001\u0000\u0000\u0000\u0982\u0983\u0005k\u0000\u0000\u0983\u0984\u0005"+
54947 "f\u0000\u0000\u0984\u099f\u0005\u0134\u0000\u0000\u0985\u0986\u0005\u00f8"+
54948 "\u0000\u0000\u0986\u0987\u0005\u00f5\u0000\u0000\u0987\u0988\u0005`\u0000"+
54949 "\u0000\u0988\u0989\u0005\u00f1\u0000\u0000\u0989\u098b\u0007\u001f\u0000"+
54950 "\u0000\u098a\u098c\u0005\u00ec\u0000\u0000\u098b\u098a\u0001\u0000\u0000"+
54951 "\u0000\u098b\u098c\u0001\u0000\u0000\u0000\u098c\u099f\u0001\u0000\u0000"+
54952 "\u0000\u098d\u098f\u0005k\u0000\u0000\u098e\u098d\u0001\u0000\u0000\u0000"+
54953 "\u098e\u098f\u0001\u0000\u0000\u0000\u098f\u0990\u0001\u0000\u0000\u0000"+
54954 "\u0990\u099f\u0005l\u0000\u0000\u0991\u099f\u0005\u0136\u0000\u0000\u0992"+
54955 "\u0993\u0005\u0115\u0000\u0000\u0993\u0994\u0005M\u0000\u0000\u0994\u099f"+
54956 "\u0003\u0148\u00a4\u0000\u0995\u099a\u0003\u014a\u00a5\u0000\u0996\u0997"+
54957 "\u0005%\u0000\u0000\u0997\u0999\u0003\u014a\u00a5\u0000\u0998\u0996\u0001"+
54958 "\u0000\u0000\u0000\u0999\u099c\u0001\u0000\u0000\u0000\u099a\u0998\u0001"+
54959 "\u0000\u0000\u0000\u099a\u099b\u0001\u0000\u0000\u0000\u099b\u099f\u0001"+
54960 "\u0000\u0000\u0000\u099c\u099a\u0001\u0000\u0000\u0000\u099d\u099f\u0003"+
54961 "\u016e\u00b7\u0000\u099e\u0969\u0001\u0000\u0000\u0000\u099e\u096a\u0001"+
54962 "\u0000\u0000\u0000\u099e\u096c\u0001\u0000\u0000\u0000\u099e\u096d\u0001"+
54963 "\u0000\u0000\u0000\u099e\u0976\u0001\u0000\u0000\u0000\u099e\u097a\u0001"+
54964 "\u0000\u0000\u0000\u099e\u0982\u0001\u0000\u0000\u0000\u099e\u0985\u0001"+
54965 "\u0000\u0000\u0000\u099e\u098e\u0001\u0000\u0000\u0000\u099e\u0991\u0001"+
54966 "\u0000\u0000\u0000\u099e\u0992\u0001\u0000\u0000\u0000\u099e\u0995\u0001"+
54967 "\u0000\u0000\u0000\u099e\u099d\u0001\u0000\u0000\u0000\u099f\u0147\u0001"+
54968 "\u0000\u0000\u0000\u09a0\u09a1\u0005\u001f\u0000\u0000\u09a1\u09a2\u0005"+
54969 "\u0193\u0000\u0000\u09a2\u09a3\u0005\u0018\u0000\u0000\u09a3\u09a4\u0003"+
54970 "\u00d4j\u0000\u09a4\u09a5\u0005%\u0000\u0000\u09a5\u09a6\u0005\u0199\u0000"+
54971 "\u0000\u09a6\u09a7\u0005\u0018\u0000\u0000\u09a7\u09a8\u0007 \u0000\u0000"+
54972 "\u09a8\u09a9\u0005%\u0000\u0000\u09a9\u09aa\u0005\u0102\u0000\u0000\u09aa"+
54973 "\u09ab\u0005\u0018\u0000\u0000\u09ab\u09ac\u0005\u02ca\u0000\u0000\u09ac"+
54974 "\u09ad\u0005 \u0000\u0000\u09ad\u0149\u0001\u0000\u0000\u0000\u09ae\u09af"+
54975 "\u0005?\u0000\u0000\u09af\u09b1\u0003X,\u0000\u09b0\u09ae\u0001\u0000"+
54976 "\u0000\u0000\u09b0\u09b1\u0001\u0000\u0000\u0000\u09b1\u09b5\u0001\u0000"+
54977 "\u0000\u0000\u09b2\u09b6\u0003\u0152\u00a9\u0000\u09b3\u09b6\u0003\u0166"+
54978 "\u00b3\u0000\u09b4\u09b6\u0003\u016c\u00b6\u0000\u09b5\u09b2\u0001\u0000"+
54979 "\u0000\u0000\u09b5\u09b3\u0001\u0000\u0000\u0000\u09b5\u09b4\u0001\u0000"+
54980 "\u0000\u0000\u09b6\u014b\u0001\u0000\u0000\u0000\u09b7\u09b8\u0005?\u0000"+
54981 "\u0000\u09b8\u09ba\u0003X,\u0000\u09b9\u09b7\u0001\u0000\u0000\u0000\u09b9"+
54982 "\u09ba\u0001\u0000\u0000\u0000\u09ba\u09be\u0001\u0000\u0000\u0000\u09bb"+
54983 "\u09bf\u0003\u0152\u00a9\u0000\u09bc\u09bf\u0003\u014e\u00a7\u0000\u09bd"+
54984 "\u09bf\u0003\u016c\u00b6\u0000\u09be\u09bb\u0001\u0000\u0000\u0000\u09be"+
54985 "\u09bc\u0001\u0000\u0000\u0000\u09be\u09bd\u0001\u0000\u0000\u0000\u09bf"+
54986 "\u014d\u0001\u0000\u0000\u0000\u09c0\u09c1\u0005B\u0000\u0000\u09c1\u09c3"+
54987 "\u0005C\u0000\u0000\u09c2\u09c0\u0001\u0000\u0000\u0000\u09c2\u09c3\u0001"+
54988 "\u0000\u0000\u0000\u09c3\u09c4\u0001\u0000\u0000\u0000\u09c4\u09c9\u0003"+
54989 "@ \u0000\u09c5\u09c6\u0005\u001f\u0000\u0000\u09c6\u09c7\u0003H$\u0000"+
54990 "\u09c7\u09c8\u0005 \u0000\u0000\u09c8\u09ca\u0001\u0000\u0000\u0000\u09c9"+
54991 "\u09c5\u0001\u0000\u0000\u0000\u09c9\u09ca\u0001\u0000\u0000\u0000\u09ca"+
54992 "\u09ce\u0001\u0000\u0000\u0000\u09cb\u09cd\u0003\u0150\u00a8\u0000\u09cc"+
54993 "\u09cb\u0001\u0000\u0000\u0000\u09cd\u09d0\u0001\u0000\u0000\u0000\u09ce"+
54994 "\u09cc\u0001\u0000\u0000\u0000\u09ce\u09cf\u0001\u0000\u0000\u0000\u09cf"+
54995 "\u014f\u0001\u0000\u0000\u0000\u09d0\u09ce\u0001\u0000\u0000\u0000\u09d1"+
54996 "\u09d2\u0005a\u0000\u0000\u09d2\u09d6\u00051\u0000\u0000\u09d3\u09d4\u0005"+
54997 "\u00f9\u0000\u0000\u09d4\u09d7\u0005\u0101\u0000\u0000\u09d5\u09d7\u0005"+
54998 "\u00f6\u0000\u0000\u09d6\u09d3\u0001\u0000\u0000\u0000\u09d6\u09d5\u0001"+
54999 "\u0000\u0000\u0000\u09d7\u09e0\u0001\u0000\u0000\u0000\u09d8\u09d9\u0005"+
55000 "a\u0000\u0000\u09d9\u09da\u00050\u0000\u0000\u09da\u09db\u0005\u00f9\u0000"+
55001 "\u0000\u09db\u09e0\u0005\u0101\u0000\u0000\u09dc\u09dd\u0005k\u0000\u0000"+
55002 "\u09dd\u09de\u0005f\u0000\u0000\u09de\u09e0\u0005\u0134\u0000\u0000\u09df"+
55003 "\u09d1\u0001\u0000\u0000\u0000\u09df\u09d8\u0001\u0000\u0000\u0000\u09df"+
55004 "\u09dc\u0001\u0000\u0000\u0000\u09e0\u0151\u0001\u0000\u0000\u0000\u09e1"+
55005 "\u09e4\u0003`0\u0000\u09e2\u09e4\u0005A\u0000\u0000\u09e3\u09e1\u0001"+
55006 "\u0000\u0000\u0000\u09e3\u09e2\u0001\u0000\u0000\u0000\u09e4\u09e7\u0001"+
55007 "\u0000\u0000\u0000\u09e5\u09e8\u0003\u0154\u00aa\u0000\u09e6\u09e8\u0003"+
55008 "\u0162\u00b1\u0000\u09e7\u09e5\u0001\u0000\u0000\u0000\u09e7\u09e6\u0001"+
55009 "\u0000\u0000\u0000\u09e8\u0153\u0001\u0000\u0000\u0000\u09e9\u09eb\u0003"+
55010 "\u0156\u00ab\u0000\u09ea\u09e9\u0001\u0000\u0000\u0000\u09ea\u09eb\u0001"+
55011 "\u0000\u0000\u0000\u09eb\u09ed\u0001\u0000\u0000\u0000\u09ec\u09ee\u0003"+
55012 "\u0158\u00ac\u0000\u09ed\u09ec\u0001\u0000\u0000\u0000\u09ed\u09ee\u0001"+
55013 "\u0000\u0000\u0000\u09ee\u09f0\u0001\u0000\u0000\u0000\u09ef\u09f1\u0003"+
55014 "\u015a\u00ad\u0000\u09f0\u09ef\u0001\u0000\u0000\u0000\u09f0\u09f1\u0001"+
55015 "\u0000\u0000\u0000\u09f1\u0155\u0001\u0000\u0000\u0000\u09f2\u09f3\u0007"+
55016 "!\u0000\u0000\u09f3\u0157\u0001\u0000\u0000\u0000\u09f4\u0a03\u0005M\u0000"+
55017 "\u0000\u09f5\u09f6\u0005\u0119\u0000\u0000\u09f6\u09f7\u0005\u0018\u0000"+
55018 "\u0000\u09f7\u0a04\u0005\u02cb\u0000\u0000\u09f8\u09f9\u0005\u001f\u0000"+
55019 "\u0000\u09f9\u09fe\u0003\u00bc^\u0000\u09fa\u09fb\u0005%\u0000\u0000\u09fb"+
55020 "\u09fd\u0003\u00bc^\u0000\u09fc\u09fa\u0001\u0000\u0000\u0000\u09fd\u0a00"+
55021 "\u0001\u0000\u0000\u0000\u09fe\u09fc\u0001\u0000\u0000\u0000\u09fe\u09ff"+
55022 "\u0001\u0000\u0000\u0000\u09ff\u0a01\u0001\u0000\u0000\u0000\u0a00\u09fe"+
55023 "\u0001\u0000\u0000\u0000\u0a01\u0a02\u0005 \u0000\u0000\u0a02\u0a04\u0001"+
55024 "\u0000\u0000\u0000\u0a03\u09f5\u0001\u0000\u0000\u0000\u0a03\u09f8\u0001"+
55025 "\u0000\u0000\u0000\u0a04\u0159\u0001\u0000\u0000\u0000\u0a05\u0a09\u0003"+
55026 "\u015c\u00ae\u0000\u0a06\u0a09\u0003\u015e\u00af\u0000\u0a07\u0a09\u0003"+
55027 "\u0160\u00b0\u0000\u0a08\u0a05\u0001\u0000\u0000\u0000\u0a08\u0a06\u0001"+
55028 "\u0000\u0000\u0000\u0a08\u0a07\u0001\u0000\u0000\u0000\u0a09\u015b\u0001"+
55029 "\u0000\u0000\u0000\u0a0a\u0a0b\u0005a\u0000\u0000\u0a0b\u0a0c\u00034\u001a"+
55030 "\u0000\u0a0c\u0a0d\u0005\u001f\u0000\u0000\u0a0d\u0a0e\u0003H$\u0000\u0a0e"+
55031 "\u0a0f\u0005 \u0000\u0000\u0a0f\u015d\u0001\u0000\u0000\u0000\u0a10\u0a11"+
55032 "\u0005a\u0000\u0000\u0a11\u0a12\u0003\u00d4j\u0000\u0a12\u015f\u0001\u0000"+
55033 "\u0000\u0000\u0a13\u0a14\u0005a\u0000\u0000\u0a14\u0a15\u0005\u02ca\u0000"+
55034 "\u0000\u0a15\u0161\u0001\u0000\u0000\u0000\u0a16\u0a1d\u0005\u0106\u0000"+
55035 "\u0000\u0a17\u0a18\u0005\u0106\u0000\u0000\u0a18\u0a1a\u0005\u011b\u0000"+
55036 "\u0000\u0a19\u0a1b\u0003\u0164\u00b2\u0000\u0a1a\u0a19\u0001\u0000\u0000"+
55037 "\u0000\u0a1a\u0a1b\u0001\u0000\u0000\u0000\u0a1b\u0a1d\u0001\u0000\u0000"+
55038 "\u0000\u0a1c\u0a16\u0001\u0000\u0000\u0000\u0a1c\u0a17\u0001\u0000\u0000"+
55039 "\u0000\u0a1d\u0163\u0001\u0000\u0000\u0000\u0a1e\u0a1f\u0005M\u0000\u0000"+
55040 "\u0a1f\u0a20\u0005\u001f\u0000\u0000\u0a20\u0a21\u0005\u0191\u0000\u0000"+
55041 "\u0a21\u0a22\u0005\u0018\u0000\u0000\u0a22\u0a23\u0005\u02cb\u0000\u0000"+
55042 "\u0a23\u0a24\u0005 \u0000\u0000\u0a24\u0165\u0001\u0000\u0000\u0000\u0a25"+
55043 "\u0a26\u0005B\u0000\u0000\u0a26\u0a28\u0005C\u0000\u0000\u0a27\u0a25\u0001"+
55044 "\u0000\u0000\u0000\u0a27\u0a28\u0001\u0000\u0000\u0000\u0a28\u0a29\u0001"+
55045 "\u0000\u0000\u0000\u0a29\u0a2a\u0005\u00fc\u0000\u0000\u0a2a\u0a2f\u0003"+
55046 "@ \u0000\u0a2b\u0a2c\u0005\u001f\u0000\u0000\u0a2c\u0a2d\u0003H$\u0000"+
55047 "\u0a2d\u0a2e\u0005 \u0000\u0000\u0a2e\u0a30\u0001\u0000\u0000\u0000\u0a2f"+
55048 "\u0a2b\u0001\u0000\u0000\u0000\u0a2f\u0a30\u0001\u0000\u0000\u0000\u0a30"+
55049 "\u0a34\u0001\u0000\u0000\u0000\u0a31\u0a33\u0003\u0168\u00b4\u0000\u0a32"+
55050 "\u0a31\u0001\u0000\u0000\u0000\u0a33\u0a36\u0001\u0000\u0000\u0000\u0a34"+
55051 "\u0a32\u0001\u0000\u0000\u0000\u0a34\u0a35\u0001\u0000\u0000\u0000\u0a35"+
55052 "\u0167\u0001\u0000\u0000\u0000\u0a36\u0a34\u0001\u0000\u0000\u0000\u0a37"+
55053 "\u0a38\u0005a\u0000\u0000\u0a38\u0a39\u0007\"\u0000\u0000\u0a39\u0a3e"+
55054 "\u0003\u016a\u00b5\u0000\u0a3a\u0a3b\u0005k\u0000\u0000\u0a3b\u0a3c\u0005"+
55055 "f\u0000\u0000\u0a3c\u0a3e\u0005\u0134\u0000\u0000\u0a3d\u0a37\u0001\u0000"+
55056 "\u0000\u0000\u0a3d\u0a3a\u0001\u0000\u0000\u0000\u0a3e\u0169\u0001\u0000"+
55057 "\u0000\u0000\u0a3f\u0a40\u0005\u00f9\u0000\u0000\u0a40\u0a45\u0005\u0101"+
55058 "\u0000\u0000\u0a41\u0a45\u0005\u00f6\u0000\u0000\u0a42\u0a43\u0005:\u0000"+
55059 "\u0000\u0a43\u0a45\u0007#\u0000\u0000\u0a44\u0a3f\u0001\u0000\u0000\u0000"+
55060 "\u0a44\u0a41\u0001\u0000\u0000\u0000\u0a44\u0a42\u0001\u0000\u0000\u0000"+
55061 "\u0a45\u016b\u0001\u0000\u0000\u0000\u0a46\u0a4a\u0005\u00f7\u0000\u0000"+
55062 "\u0a47\u0a48\u0005k\u0000\u0000\u0a48\u0a49\u0005f\u0000\u0000\u0a49\u0a4b"+
55063 "\u0005\u0134\u0000\u0000\u0a4a\u0a47\u0001\u0000\u0000\u0000\u0a4a\u0a4b"+
55064 "\u0001\u0000\u0000\u0000\u0a4b\u0a4c\u0001\u0000\u0000\u0000\u0a4c\u0a4d"+
55065 "\u0005\u001f\u0000\u0000\u0a4d\u0a4e\u0003b1\u0000\u0a4e\u0a4f\u0005 "+
55066 "\u0000\u0000\u0a4f\u016d\u0001\u0000\u0000\u0000\u0a50\u0a51\u0005>\u0000"+
55067 "\u0000\u0a51\u0a53\u0003V+\u0000\u0a52\u0a54\u0003\u0156\u00ab\u0000\u0a53"+
55068 "\u0a52\u0001\u0000\u0000\u0000\u0a53\u0a54\u0001\u0000\u0000\u0000\u0a54"+
55069 "\u0a56\u0001\u0000\u0000\u0000\u0a55\u0a57\u0003\u0170\u00b8\u0000\u0a56"+
55070 "\u0a55\u0001\u0000\u0000\u0000\u0a56\u0a57\u0001\u0000\u0000\u0000\u0a57"+
55071 "\u0a59\u0001\u0000\u0000\u0000\u0a58\u0a5a\u0003\u0172\u00b9\u0000\u0a59"+
55072 "\u0a58\u0001\u0000\u0000\u0000\u0a59\u0a5a\u0001\u0000\u0000\u0000\u0a5a"+
55073 "\u0a5c\u0001\u0000\u0000\u0000\u0a5b\u0a5d\u0003\u0176\u00bb\u0000\u0a5c"+
55074 "\u0a5b\u0001\u0000\u0000\u0000\u0a5c\u0a5d\u0001\u0000\u0000\u0000\u0a5d"+
55075 "\u016f\u0001\u0000\u0000\u0000\u0a5e\u0a5f\u0005M\u0000\u0000\u0a5f\u0a60"+
55076 "\u0005\u001f\u0000\u0000\u0a60\u0a65\u0003\u00bc^\u0000\u0a61\u0a62\u0005"+
55077 "%\u0000\u0000\u0a62\u0a64\u0003\u00bc^\u0000\u0a63\u0a61\u0001\u0000\u0000"+
55078 "\u0000\u0a64\u0a67\u0001\u0000\u0000\u0000\u0a65\u0a63\u0001\u0000\u0000"+
55079 "\u0000\u0a65\u0a66\u0001\u0000\u0000\u0000\u0a66\u0a68\u0001\u0000\u0000"+
55080 "\u0000\u0a67\u0a65\u0001\u0000\u0000\u0000\u0a68\u0a69\u0005 \u0000\u0000"+
55081 "\u0a69\u0171\u0001\u0000\u0000\u0000\u0a6a\u0a6e\u0003\u015c\u00ae\u0000"+
55082 "\u0a6b\u0a6e\u0003\u015e\u00af\u0000\u0a6c\u0a6e\u0003\u0174\u00ba\u0000"+
55083 "\u0a6d\u0a6a\u0001\u0000\u0000\u0000\u0a6d\u0a6b\u0001\u0000\u0000\u0000"+
55084 "\u0a6d\u0a6c\u0001\u0000\u0000\u0000\u0a6e\u0173\u0001\u0000\u0000\u0000"+
55085 "\u0a6f\u0a70\u0005a\u0000\u0000\u0a70\u0a71\u0005\u009a\u0000\u0000\u0a71"+
55086 "\u0175\u0001\u0000\u0000\u0000\u0a72\u0a76\u0005\u01ab\u0000\u0000\u0a73"+
55087 "\u0a77\u0003\u00d4j\u0000\u0a74\u0a77\u00034\u001a\u0000\u0a75\u0a77\u0005"+
55088 "\u02ca\u0000\u0000\u0a76\u0a73\u0001\u0000\u0000\u0000\u0a76\u0a74\u0001"+
55089 "\u0000\u0000\u0000\u0a76\u0a75\u0001\u0000\u0000\u0000\u0a77\u0177\u0001"+
55090 "\u0000\u0000\u0000\u0a78\u0a7d\u0003\u014a\u00a5\u0000\u0a79\u0a7a\u0005"+
55091 "%\u0000\u0000\u0a7a\u0a7c\u0003\u014a\u00a5\u0000\u0a7b\u0a79\u0001\u0000"+
55092 "\u0000\u0000\u0a7c\u0a7f\u0001\u0000\u0000\u0000\u0a7d\u0a7b\u0001\u0000"+
55093 "\u0000\u0000\u0a7d\u0a7e\u0001\u0000\u0000\u0000\u0a7e\u0a81\u0001\u0000"+
55094 "\u0000\u0000\u0a7f\u0a7d\u0001\u0000\u0000\u0000\u0a80\u0a78\u0001\u0000"+
55095 "\u0000\u0000\u0a80\u0a81\u0001\u0000\u0000\u0000\u0a81\u0179\u0001\u0000"+
55096 "\u0000\u0000\u0a82\u0a83\u0003H$\u0000\u0a83\u0a84\u0005`\u0000\u0000"+
55097 "\u0a84\u0a8a\u0003b1\u0000\u0a85\u0a88\u0005\u012e\u0000\u0000\u0a86\u0a87"+
55098 "\u0005k\u0000\u0000\u0a87\u0a89\u0005l\u0000\u0000\u0a88\u0a86\u0001\u0000"+
55099 "\u0000\u0000\u0a88\u0a89\u0001\u0000\u0000\u0000\u0a89\u0a8b\u0001\u0000"+
55100 "\u0000\u0000\u0a8a\u0a85\u0001\u0000\u0000\u0000\u0a8a\u0a8b\u0001\u0000"+
55101 "\u0000\u0000\u0a8b\u0a8d\u0001\u0000\u0000\u0000\u0a8c\u0a8e\u0003\u014c"+
55102 "\u00a6\u0000\u0a8d\u0a8c\u0001\u0000\u0000\u0000\u0a8d\u0a8e\u0001\u0000"+
55103 "\u0000\u0000\u0a8e\u017b\u0001\u0000\u0000\u0000\u0a8f\u0a90\u0003\u00d4"+
55104 "j\u0000\u0a90\u0a91\u0005\u02c8\u0000\u0000\u0a91\u0a92\u0005\u0194\u0000"+
55105 "\u0000\u0a92\u0a93\u0005f\u0000\u0000\u0a93\u0a94\u0005\u0190\u0000\u0000"+
55106 "\u0a94\u017d\u0001\u0000\u0000\u0000\u0a95\u0a96\u0005?\u0000\u0000\u0a96"+
55107 "\u0a98\u0003X,\u0000\u0a97\u0a95\u0001\u0000\u0000\u0000\u0a97\u0a98\u0001"+
55108 "\u0000\u0000\u0000\u0a98\u0a9c\u0001\u0000\u0000\u0000\u0a99\u0a9d\u0003"+
55109 "\u0180\u00c0\u0000\u0a9a\u0a9d\u0003\u018a\u00c5\u0000\u0a9b\u0a9d\u0003"+
55110 "\u016c\u00b6\u0000\u0a9c\u0a99\u0001\u0000\u0000\u0000\u0a9c\u0a9a\u0001"+
55111 "\u0000\u0000\u0000\u0a9c\u0a9b\u0001\u0000\u0000\u0000\u0a9d\u017f\u0001"+
55112 "\u0000\u0000\u0000\u0a9e\u0aa1\u0003\u0182\u00c1\u0000\u0a9f\u0aa2\u0003"+
55113 "\u0184\u00c2\u0000\u0aa0\u0aa2\u0003\u0186\u00c3\u0000\u0aa1\u0a9f\u0001"+
55114 "\u0000\u0000\u0000\u0aa1\u0aa0\u0001\u0000\u0000\u0000\u0aa2\u0181\u0001"+
55115 "\u0000\u0000\u0000\u0aa3\u0aa6\u0003`0\u0000\u0aa4\u0aa6\u0005A\u0000"+
55116 "\u0000\u0aa5\u0aa3\u0001\u0000\u0000\u0000\u0aa5\u0aa4\u0001\u0000\u0000"+
55117 "\u0000\u0aa6\u0183\u0001\u0000\u0000\u0000\u0aa7\u0aa9\u0003\u0156\u00ab"+
55118 "\u0000\u0aa8\u0aa7\u0001\u0000\u0000\u0000\u0aa8\u0aa9\u0001\u0000\u0000"+
55119 "\u0000\u0aa9\u0aaa\u0001\u0000\u0000\u0000\u0aaa\u0aac\u0003P(\u0000\u0aab"+
55120 "\u0aad\u0003\u0158\u00ac\u0000\u0aac\u0aab\u0001\u0000\u0000\u0000\u0aac"+
55121 "\u0aad\u0001\u0000\u0000\u0000\u0aad\u0aaf\u0001\u0000\u0000\u0000\u0aae"+
55122 "\u0ab0\u0003\u015a\u00ad\u0000\u0aaf\u0aae\u0001\u0000\u0000\u0000\u0aaf"+
55123 "\u0ab0\u0001\u0000\u0000\u0000\u0ab0\u0185\u0001\u0000\u0000\u0000\u0ab1"+
55124 "\u0ab4\u0005\u0106\u0000\u0000\u0ab2\u0ab5\u0003P(\u0000\u0ab3\u0ab5\u0003"+
55125 "\u0188\u00c4\u0000\u0ab4\u0ab2\u0001\u0000\u0000\u0000\u0ab4\u0ab3\u0001"+
55126 "\u0000\u0000\u0000\u0ab5\u0187\u0001\u0000\u0000\u0000\u0ab6\u0ab7\u0005"+
55127 "\u011b\u0000\u0000\u0ab7\u0ab8\u0003P(\u0000\u0ab8\u0ab9\u0003\u0164\u00b2"+
55128 "\u0000\u0ab9\u0189\u0001\u0000\u0000\u0000\u0aba\u0abb\u0005B\u0000\u0000"+
55129 "\u0abb\u0abd\u0005C\u0000\u0000\u0abc\u0aba\u0001\u0000\u0000\u0000\u0abc"+
55130 "\u0abd\u0001\u0000\u0000\u0000\u0abd\u0abe\u0001\u0000\u0000\u0000\u0abe"+
55131 "\u0abf\u0003P(\u0000\u0abf\u0ac0\u0005\u00fc\u0000\u0000\u0ac0\u0ac1\u0003"+
55132 "@ \u0000\u0ac1\u0ac5\u0003P(\u0000\u0ac2\u0ac4\u0003\u0168\u00b4\u0000"+
55133 "\u0ac3\u0ac2\u0001\u0000\u0000\u0000\u0ac4\u0ac7\u0001\u0000\u0000\u0000"+
55134 "\u0ac5\u0ac3\u0001\u0000\u0000\u0000\u0ac5\u0ac6\u0001\u0000\u0000\u0000"+
55135 "\u0ac6\u018b\u0001\u0000\u0000\u0000\u0ac7\u0ac5\u0001\u0000\u0000\u0000"+
55136 "\u0ac8\u0ac9\u0005>\u0000\u0000\u0ac9\u0aca\u0003V+\u0000\u0aca\u0acd"+
55137 "\u0003\u018e\u00c7\u0000\u0acb\u0acc\u0005M\u0000\u0000\u0acc\u0ace\u0003"+
55138 "\u0190\u00c8\u0000\u0acd\u0acb\u0001\u0000\u0000\u0000\u0acd\u0ace\u0001"+
55139 "\u0000\u0000\u0000\u0ace\u0ad0\u0001\u0000\u0000\u0000\u0acf\u0ad1\u0003"+
55140 "\u0172\u00b9\u0000\u0ad0\u0acf\u0001\u0000\u0000\u0000\u0ad0\u0ad1\u0001"+
55141 "\u0000\u0000\u0000\u0ad1\u0ad3\u0001\u0000\u0000\u0000\u0ad2\u0ad4\u0003"+
55142 "\u0176\u00bb\u0000\u0ad3\u0ad2\u0001\u0000\u0000\u0000\u0ad3\u0ad4\u0001"+
55143 "\u0000\u0000\u0000\u0ad4\u018d\u0001\u0000\u0000\u0000\u0ad5\u0ad7\u0003"+
55144 "\u0156\u00ab\u0000\u0ad6\u0ad5\u0001\u0000\u0000\u0000\u0ad6\u0ad7\u0001"+
55145 "\u0000\u0000\u0000\u0ad7\u0ad8\u0001\u0000\u0000\u0000\u0ad8\u0ae1\u0003"+
55146 "P(\u0000\u0ad9\u0ada\u0005\u0105\u0000\u0000\u0ada\u0ae1\u0005\u0108\u0000"+
55147 "\u0000\u0adb\u0add\u0005\u0106\u0000\u0000\u0adc\u0adb\u0001\u0000\u0000"+
55148 "\u0000\u0adc\u0add\u0001\u0000\u0000\u0000\u0add\u0ade\u0001\u0000\u0000"+
55149 "\u0000\u0ade\u0adf\u0005\u0108\u0000\u0000\u0adf\u0ae1\u0003P(\u0000\u0ae0"+
55150 "\u0ad6\u0001\u0000\u0000\u0000\u0ae0\u0ad9\u0001\u0000\u0000\u0000\u0ae0"+
55151 "\u0adc\u0001\u0000\u0000\u0000\u0ae1\u018f\u0001\u0000\u0000\u0000\u0ae2"+
55152 "\u0ae3\u0005\u001f\u0000\u0000\u0ae3\u0ae8\u0003\u00bc^\u0000\u0ae4\u0ae5"+
55153 "\u0005%\u0000\u0000\u0ae5\u0ae7\u0003\u00bc^\u0000\u0ae6\u0ae4\u0001\u0000"+
55154 "\u0000\u0000\u0ae7\u0aea\u0001\u0000\u0000\u0000\u0ae8\u0ae6\u0001\u0000"+
55155 "\u0000\u0000\u0ae8\u0ae9\u0001\u0000\u0000\u0000\u0ae9\u0aeb\u0001\u0000"+
55156 "\u0000\u0000\u0aea\u0ae8\u0001\u0000\u0000\u0000\u0aeb\u0aec\u0005 \u0000"+
55157 "\u0000\u0aec\u0191\u0001\u0000\u0000\u0000\u0aed\u0aee\u0005\u012d\u0000"+
55158 "\u0000\u0aee\u0aef\u0005f\u0000\u0000\u0aef\u0af0\u0005\u019a\u0000\u0000"+
55159 "\u0af0\u0af1\u0005\u001f\u0000\u0000\u0af1\u0af2\u0003H$\u0000\u0af2\u0af3"+
55160 "\u0005%\u0000\u0000\u0af3\u0af4\u0003H$\u0000\u0af4\u0af5\u0005 \u0000"+
55161 "\u0000\u0af5\u0193\u0001\u0000\u0000\u0000\u0af6\u0afe\u0005a\u0000\u0000"+
55162 "\u0af7\u0af8\u00034\u001a\u0000\u0af8\u0af9\u0005\u001f\u0000\u0000\u0af9"+
55163 "\u0afa\u0003H$\u0000\u0afa\u0afb\u0005 \u0000\u0000\u0afb\u0aff\u0001"+
55164 "\u0000\u0000\u0000\u0afc\u0aff\u0003\u00d4j\u0000\u0afd\u0aff\u0005\u02ca"+
55165 "\u0000\u0000\u0afe\u0af7\u0001\u0000\u0000\u0000\u0afe\u0afc\u0001\u0000"+
55166 "\u0000\u0000\u0afe\u0afd\u0001\u0000\u0000\u0000\u0aff\u0b01\u0001\u0000"+
55167 "\u0000\u0000\u0b00\u0af6\u0001\u0000\u0000\u0000\u0b00\u0b01\u0001\u0000"+
55168 "\u0000\u0000\u0b01\u0195\u0001\u0000\u0000\u0000\u0b02\u0b05\u0005\u019c"+
55169 "\u0000\u0000\u0b03\u0b06\u0003\u00d4j\u0000\u0b04\u0b06\u0005\u02ca\u0000"+
55170 "\u0000\u0b05\u0b03\u0001\u0000\u0000\u0000\u0b05\u0b04\u0001\u0000\u0000"+
55171 "\u0000\u0b06\u0b08\u0001\u0000\u0000\u0000\u0b07\u0b02\u0001\u0000\u0000"+
55172 "\u0000\u0b07\u0b08\u0001\u0000\u0000\u0000\u0b08\u0b10\u0001\u0000\u0000"+
55173 "\u0000\u0b09\u0b0a\u0005\u01ab\u0000\u0000\u0b0a\u0b0f\u00034\u001a\u0000"+
55174 "\u0b0b\u0b0c\u0003\u00d4j\u0000\u0b0c\u0b0d\u0005\u02ca\u0000\u0000\u0b0d"+
55175 "\u0b0f\u0001\u0000\u0000\u0000\u0b0e\u0b09\u0001\u0000\u0000\u0000\u0b0e"+
55176 "\u0b0b\u0001\u0000\u0000\u0000\u0b0f\u0b11\u0001\u0000\u0000\u0000\u0b10"+
55177 "\u0b0e\u0001\u0000\u0000\u0000\u0b10\u0b11\u0001\u0000\u0000\u0000\u0b11"+
55178 "\u0b14\u0001\u0000\u0000\u0000\u0b12\u0b13\u0005M\u0000\u0000\u0b13\u0b15"+
55179 "\u0003\u0198\u00cc\u0000\u0b14\u0b12\u0001\u0000\u0000\u0000\u0b14\u0b15"+
55180 "\u0001\u0000\u0000\u0000\u0b15\u0197\u0001\u0000\u0000\u0000\u0b16\u0b17"+
55181 "\u0005\u001f\u0000\u0000\u0b17\u0b1c\u0003\u019a\u00cd\u0000\u0b18\u0b19"+
55182 "\u0005%\u0000\u0000\u0b19\u0b1b\u0003\u019a\u00cd\u0000\u0b1a\u0b18\u0001"+
55183 "\u0000\u0000\u0000\u0b1b\u0b1e\u0001\u0000\u0000\u0000\u0b1c\u0b1a\u0001"+
55184 "\u0000\u0000\u0000\u0b1c\u0b1d\u0001\u0000\u0000\u0000\u0b1d\u0b1f\u0001"+
55185 "\u0000\u0000\u0000\u0b1e\u0b1c\u0001\u0000\u0000\u0000\u0b1f\u0b20\u0005"+
55186 " \u0000\u0000\u0b20\u0199\u0001\u0000\u0000\u0000\u0b21\u0b22\u0005\u0197"+
55187 "\u0000\u0000\u0b22\u0b23\u0005\u0018\u0000\u0000\u0b23\u0b2a\u0007$\u0000"+
55188 "\u0000\u0b24\u0b25\u0005a\u0000\u0000\u0b25\u0b26\u0005\u00ef\u0000\u0000"+
55189 "\u0b26\u0b27\u0005\u001f\u0000\u0000\u0b27\u0b28\u0003\u00cae\u0000\u0b28"+
55190 "\u0b29\u0005 \u0000\u0000\u0b29\u0b2b\u0001\u0000\u0000\u0000\u0b2a\u0b24"+
55191 "\u0001\u0000\u0000\u0000\u0b2a\u0b2b\u0001\u0000\u0000\u0000\u0b2b\u0b54"+
55192 "\u0001\u0000\u0000\u0000\u0b2c\u0b2d\u0005\u01ad\u0000\u0000\u0b2d\u0b2e"+
55193 "\u0005\u0018\u0000\u0000\u0b2e\u0b54\u0003\u00d4j\u0000\u0b2f\u0b30\u0005"+
55194 "\u01ac\u0000\u0000\u0b30\u0b33\u0005\u0018\u0000\u0000\u0b31\u0b34\u0003"+
55195 "Z-\u0000\u0b32\u0b34\u0005\u0196\u0000\u0000\u0b33\u0b31\u0001\u0000\u0000"+
55196 "\u0000\u0b33\u0b32\u0001\u0000\u0000\u0000\u0b34\u0b54\u0001\u0000\u0000"+
55197 "\u0000\u0b35\u0b36\u0005\u01af\u0000\u0000\u0b36\u0b37\u0005\u0018\u0000"+
55198 "\u0000\u0b37\u0b54\u0003\u00d4j\u0000\u0b38\u0b39\u0005\u01b0\u0000\u0000"+
55199 "\u0b39\u0b3a\u0005\u0018\u0000\u0000\u0b3a\u0b54\u0003\u00d4j\u0000\u0b3b"+
55200 "\u0b3c\u0005\u01ae\u0000\u0000\u0b3c\u0b3d\u0005\u0018\u0000\u0000\u0b3d"+
55201 "\u0b54\u0003\u00d4j\u0000\u0b3e\u0b3f\u0005\u019b\u0000\u0000\u0b3f\u0b40"+
55202 "\u0005\u0018\u0000\u0000\u0b40\u0b42\u0005a\u0000\u0000\u0b41\u0b43\u0003"+
55203 "\u01f2\u00f9\u0000\u0b42\u0b41\u0001\u0000\u0000\u0000\u0b42\u0b43\u0001"+
55204 "\u0000\u0000\u0000\u0b43\u0b54\u0001\u0000\u0000\u0000\u0b44\u0b45\u0005"+
55205 "\u01aa\u0000\u0000\u0b45\u0b4c\u0005\u0018\u0000\u0000\u0b46\u0b48\u0005"+
55206 "a\u0000\u0000\u0b47\u0b49\u0003\u019e\u00cf\u0000\u0b48\u0b47\u0001\u0000"+
55207 "\u0000\u0000\u0b48\u0b49\u0001\u0000\u0000\u0000\u0b49\u0b4d\u0001\u0000"+
55208 "\u0000\u0000\u0b4a\u0b4b\u0005b\u0000\u0000\u0b4b\u0b4d\u0003\u01a2\u00d1"+
55209 "\u0000\u0b4c\u0b46\u0001\u0000\u0000\u0000\u0b4c\u0b4a\u0001\u0000\u0000"+
55210 "\u0000\u0b4d\u0b54\u0001\u0000\u0000\u0000\u0b4e\u0b54\u0003\u01a4\u00d2"+
55211 "\u0000\u0b4f\u0b54\u0003\u01a6\u00d3\u0000\u0b50\u0b54\u0003\u01a8\u00d4"+
55212 "\u0000\u0b51\u0b54\u0003\u019c\u00ce\u0000\u0b52\u0b54\u0003\u01aa\u00d5"+
55213 "\u0000\u0b53\u0b21\u0001\u0000\u0000\u0000\u0b53\u0b2c\u0001\u0000\u0000"+
55214 "\u0000\u0b53\u0b2f\u0001\u0000\u0000\u0000\u0b53\u0b35\u0001\u0000\u0000"+
55215 "\u0000\u0b53\u0b38\u0001\u0000\u0000\u0000\u0b53\u0b3b\u0001\u0000\u0000"+
55216 "\u0000\u0b53\u0b3e\u0001\u0000\u0000\u0000\u0b53\u0b44\u0001\u0000\u0000"+
55217 "\u0000\u0b53\u0b4e\u0001\u0000\u0000\u0000\u0b53\u0b4f\u0001\u0000\u0000"+
55218 "\u0000\u0b53\u0b50\u0001\u0000\u0000\u0000\u0b53\u0b51\u0001\u0000\u0000"+
55219 "\u0000\u0b53\u0b52\u0001\u0000\u0000\u0000\u0b54\u019b\u0001\u0000\u0000"+
55220 "\u0000\u0b55\u0b56\u0005\u01ec\u0000\u0000\u0b56\u0b57\u0005\u0018\u0000"+
55221 "\u0000\u0b57\u0b58\u0005a\u0000\u0000\u0b58\u0b59\u0005\u001f\u0000\u0000"+
55222 "\u0b59\u0b5a\u0005\u01ed\u0000\u0000\u0b5a\u0b5b\u0005\u0018\u0000\u0000"+
55223 "\u0b5b\u0b5c\u0003H$\u0000\u0b5c\u0b5d\u0005%\u0000\u0000\u0b5d\u0b5e"+
55224 "\u0005\u01ee\u0000\u0000\u0b5e\u0b5f\u0005\u0018\u0000\u0000\u0b5f\u0b60"+
55225 "\u0003\u01e4\u00f2\u0000\u0b60\u019d\u0001\u0000\u0000\u0000\u0b61\u0b62"+
55226 "\u0005\u001f\u0000\u0000\u0b62\u0b67\u0003\u01a0\u00d0\u0000\u0b63\u0b64"+
55227 "\u0005%\u0000\u0000\u0b64\u0b66\u0003\u01a0\u00d0\u0000\u0b65\u0b63\u0001"+
55228 "\u0000\u0000\u0000\u0b66\u0b69\u0001\u0000\u0000\u0000\u0b67\u0b65\u0001"+
55229 "\u0000\u0000\u0000\u0b67\u0b68\u0001\u0000\u0000\u0000\u0b68\u0b6a\u0001"+
55230 "\u0000\u0000\u0000\u0b69\u0b67\u0001\u0000\u0000\u0000\u0b6a\u0b6b\u0005"+
55231 " \u0000\u0000\u0b6b\u019f\u0001\u0000\u0000\u0000\u0b6c\u0b6d\u0005\u01b1"+
55232 "\u0000\u0000\u0b6d\u0b70\u0005\u0018\u0000\u0000\u0b6e\u0b71\u0005l\u0000"+
55233 "\u0000\u0b6f\u0b71\u0003v;\u0000\u0b70\u0b6e\u0001\u0000\u0000\u0000\u0b70"+
55234 "\u0b6f\u0001\u0000\u0000\u0000\u0b71\u0b72\u0001\u0000\u0000\u0000\u0b72"+
55235 "\u0b74\u0005%\u0000\u0000\u0b73\u0b6c\u0001\u0000\u0000\u0000\u0b73\u0b74"+
55236 "\u0001\u0000\u0000\u0000\u0b74\u0b75\u0001\u0000\u0000\u0000\u0b75\u0b76"+
55237 "\u0005\u01a8\u0000\u0000\u0b76\u0b77\u0005\u0018\u0000\u0000\u0b77\u0b78"+
55238 "\u0007%\u0000\u0000\u0b78\u01a1\u0001\u0000\u0000\u0000\u0b79\u0b7a\u0005"+
55239 "\u001f\u0000\u0000\u0b7a\u0b7b\u0005\u01a8\u0000\u0000\u0b7b\u0b7c\u0005"+
55240 "\u0018\u0000\u0000\u0b7c\u0b7d\u0005\u012c\u0000\u0000\u0b7d\u0b7e\u0005"+
55241 " \u0000\u0000\u0b7e\u01a3\u0001\u0000\u0000\u0000\u0b7f\u0b80\u0005\u01a7"+
55242 "\u0000\u0000\u0b80\u0b81\u0005\u0018\u0000\u0000\u0b81\u0b8c\u0005a\u0000"+
55243 "\u0000\u0b82\u0b83\u0005\u0114\u0000\u0000\u0b83\u0b84\u0005\u0018\u0000"+
55244 "\u0000\u0b84\u0b8c\u0007&\u0000\u0000\u0b85\u0b86\u0005\u019b\u0000\u0000"+
55245 "\u0b86\u0b87\u0005\u0018\u0000\u0000\u0b87\u0b89\u0005a\u0000\u0000\u0b88"+
55246 "\u0b8a\u0003\u01f2\u00f9\u0000\u0b89\u0b88\u0001\u0000\u0000\u0000\u0b89"+
55247 "\u0b8a\u0001\u0000\u0000\u0000\u0b8a\u0b8c\u0001\u0000\u0000\u0000\u0b8b"+
55248 "\u0b7f\u0001\u0000\u0000\u0000\u0b8b\u0b82\u0001\u0000\u0000\u0000\u0b8b"+
55249 "\u0b85\u0001\u0000\u0000\u0000\u0b8c\u01a5\u0001\u0000\u0000\u0000\u0b8d"+
55250 "\u0b8e\u0005\u0112\u0000\u0000\u0b8e\u0b96\u0005\u0018\u0000\u0000\u0b8f"+
55251 "\u0b90\u0005\u011b\u0000\u0000\u0b90\u0b91\u0005\u001f\u0000\u0000\u0b91"+
55252 "\u0b92\u0003H$\u0000\u0b92\u0b93\u0005 \u0000\u0000\u0b93\u0b97\u0001"+
55253 "\u0000\u0000\u0000\u0b94\u0b97\u0005\u01a0\u0000\u0000\u0b95\u0b97\u0005"+
55254 "\u0133\u0000\u0000\u0b96\u0b8f\u0001\u0000\u0000\u0000\u0b96\u0b94\u0001"+
55255 "\u0000\u0000\u0000\u0b96\u0b95\u0001\u0000\u0000\u0000\u0b97\u01a7\u0001"+
55256 "\u0000\u0000\u0000\u0b98\u0b99\u0005\u0105\u0000\u0000\u0b99\u0b9a\u0005"+
55257 "\u0108\u0000\u0000\u0b9a\u0bb5\u0005>\u0000\u0000\u0b9b\u0b9c\u0005\u0105"+
55258 "\u0000\u0000\u0b9c\u0b9d\u0005\u0108\u0000\u0000\u0b9d\u0b9e\u0005>\u0000"+
55259 "\u0000\u0b9e\u0b9f\u0005u\u0000\u0000\u0b9f\u0bb5\u0003P(\u0000\u0ba0"+
55260 "\u0bb5\u0005\u011c\u0000\u0000\u0ba1\u0ba2\u0005\u0105\u0000\u0000\u0ba2"+
55261 "\u0ba3\u0005>\u0000\u0000\u0ba3\u0ba4\u0005\u001f\u0000\u0000\u0ba4\u0ba6"+
55262 "\u0003H$\u0000\u0ba5\u0ba7\u0007\u0012\u0000\u0000\u0ba6\u0ba5\u0001\u0000"+
55263 "\u0000\u0000\u0ba6\u0ba7\u0001\u0000\u0000\u0000\u0ba7\u0baf\u0001\u0000"+
55264 "\u0000\u0000\u0ba8\u0ba9\u0005%\u0000\u0000\u0ba9\u0bab\u0003H$\u0000"+
55265 "\u0baa\u0bac\u0007\u0012\u0000\u0000\u0bab\u0baa\u0001\u0000\u0000\u0000"+
55266 "\u0bab\u0bac\u0001\u0000\u0000\u0000\u0bac\u0bae\u0001\u0000\u0000\u0000"+
55267 "\u0bad\u0ba8\u0001\u0000\u0000\u0000\u0bae\u0bb1\u0001\u0000\u0000\u0000"+
55268 "\u0baf\u0bad\u0001\u0000\u0000\u0000\u0baf\u0bb0\u0001\u0000\u0000\u0000"+
55269 "\u0bb0\u0bb2\u0001\u0000\u0000\u0000\u0bb1\u0baf\u0001\u0000\u0000\u0000"+
55270 "\u0bb2\u0bb3\u0005 \u0000\u0000\u0bb3\u0bb5\u0001\u0000\u0000\u0000\u0bb4"+
55271 "\u0b98\u0001\u0000\u0000\u0000\u0bb4\u0b9b\u0001\u0000\u0000\u0000\u0bb4"+
55272 "\u0ba0\u0001\u0000\u0000\u0000\u0bb4\u0ba1\u0001\u0000\u0000\u0000\u0bb5"+
55273 "\u01a9\u0001\u0000\u0000\u0000\u0bb6\u0bb7\u0005\u00ee\u0000\u0000\u0bb7"+
55274 "\u0bb8\u0005\u001f\u0000\u0000\u0bb8\u0bb9\u0003H$\u0000\u0bb9\u0bbb\u0005"+
55275 "\u0131\u0000\u0000\u0bba\u0bbc\u0007\'\u0000\u0000\u0bbb\u0bba\u0001\u0000"+
55276 "\u0000\u0000\u0bbb\u0bbc\u0001\u0000\u0000\u0000\u0bbc\u0bbd\u0001\u0000"+
55277 "\u0000\u0000\u0bbd\u0bbe\u0005f\u0000\u0000\u0bbe\u0bbf\u0005L\u0000\u0000"+
55278 "\u0bbf\u0bc0\u0005\u001f\u0000\u0000\u0bc0\u0bc5\u0003t:\u0000\u0bc1\u0bc2"+
55279 "\u0005%\u0000\u0000\u0bc2\u0bc4\u0003t:\u0000\u0bc3\u0bc1\u0001\u0000"+
55280 "\u0000\u0000\u0bc4\u0bc7\u0001\u0000\u0000\u0000\u0bc5\u0bc3\u0001\u0000"+
55281 "\u0000\u0000\u0bc5\u0bc6\u0001\u0000\u0000\u0000\u0bc6\u0bc8\u0001\u0000"+
55282 "\u0000\u0000\u0bc7\u0bc5\u0001\u0000\u0000\u0000\u0bc8\u0bc9\u0005 \u0000"+
55283 "\u0000\u0bc9\u0bca\u0005 \u0000\u0000\u0bca\u01ab\u0001\u0000\u0000\u0000"+
55284 "\u0bcb\u0bcd\u0005A\u0000\u0000\u0bcc\u0bcb\u0001\u0000\u0000\u0000\u0bcc"+
55285 "\u0bcd\u0001\u0000\u0000\u0000\u0bcd\u0bcf\u0001\u0000\u0000\u0000\u0bce"+
55286 "\u0bd0\u0003\u0156\u00ab\u0000\u0bcf\u0bce\u0001\u0000\u0000\u0000\u0bcf"+
55287 "\u0bd0\u0001\u0000\u0000\u0000\u0bd0\u01ad\u0001\u0000\u0000\u0000\u0bd1"+
55288 "\u0bdb\u0003\u01b0\u00d8\u0000\u0bd2\u0bdb\u0003\u01b2\u00d9\u0000\u0bd3"+
55289 "\u0bdb\u0003\u01c2\u00e1\u0000\u0bd4\u0bdb\u0003\u01d2\u00e9\u0000\u0bd5"+
55290 "\u0bdb\u0003\u01d4\u00ea\u0000\u0bd6\u0bdb\u0003\u01d6\u00eb\u0000\u0bd7"+
55291 "\u0bdb\u0003\u01d8\u00ec\u0000\u0bd8\u0bdb\u0003\u01f0\u00f8\u0000\u0bd9"+
55292 "\u0bdb\u0005\u0132\u0000\u0000\u0bda\u0bd1\u0001\u0000\u0000\u0000\u0bda"+
55293 "\u0bd2\u0001\u0000\u0000\u0000\u0bda\u0bd3\u0001\u0000\u0000\u0000\u0bda"+
55294 "\u0bd4\u0001\u0000\u0000\u0000\u0bda\u0bd5\u0001\u0000\u0000\u0000\u0bda"+
55295 "\u0bd6\u0001\u0000\u0000\u0000\u0bda\u0bd7\u0001\u0000\u0000\u0000\u0bda"+
55296 "\u0bd8\u0001\u0000\u0000\u0000\u0bda\u0bd9\u0001\u0000\u0000\u0000\u0bdb"+
55297 "\u01af\u0001\u0000\u0000\u0000\u0bdc\u0bdd\u0005M\u0000\u0000\u0bdd\u0bdf"+
55298 "\u0007(\u0000\u0000\u0bde\u0bdc\u0001\u0000\u0000\u0000\u0bde\u0bdf\u0001"+
55299 "\u0000\u0000\u0000\u0bdf\u0be0\u0001\u0000\u0000\u0000\u0be0\u0be3\u0005"+
55300 "9\u0000\u0000\u0be1\u0be4\u0003\u01b6\u00db\u0000\u0be2\u0be4\u0003\u01bc"+
55301 "\u00de\u0000\u0be3\u0be1\u0001\u0000\u0000\u0000\u0be3\u0be2\u0001\u0000"+
55302 "\u0000\u0000\u0be4\u01b1\u0001\u0000\u0000\u0000\u0be5\u0be6\u0003\u01b4"+
55303 "\u00da\u0000\u0be6\u0be9\u0003\u009eO\u0000\u0be7\u0be8\u0005\u0107\u0000"+
55304 "\u0000\u0be8\u0bea\u0003Z-\u0000\u0be9\u0be7\u0001\u0000\u0000\u0000\u0be9"+
55305 "\u0bea\u0001\u0000\u0000\u0000\u0bea\u0bee\u0001\u0000\u0000\u0000\u0beb"+
55306 "\u0bef\u0005l\u0000\u0000\u0bec\u0bed\u0005k\u0000\u0000\u0bed\u0bef\u0005"+
55307 "l\u0000\u0000\u0bee\u0beb\u0001\u0000\u0000\u0000\u0bee\u0bec\u0001\u0000"+
55308 "\u0000\u0000\u0bee\u0bef\u0001\u0000\u0000\u0000\u0bef\u0bf1\u0001\u0000"+
55309 "\u0000\u0000\u0bf0\u0bf2\u0005\u0139\u0000\u0000\u0bf1\u0bf0\u0001\u0000"+
55310 "\u0000\u0000\u0bf1\u0bf2\u0001\u0000\u0000\u0000\u0bf2\u01b3\u0001\u0000"+
55311 "\u0000\u0000\u0bf3\u0bf4\u00053\u0000\u0000\u0bf4\u0bf5\u0005<\u0000\u0000"+
55312 "\u0bf5\u0bf6\u0003H$\u0000\u0bf6\u01b5\u0001\u0000\u0000\u0000\u0bf7\u0bfc"+
55313 "\u0003\u01b8\u00dc\u0000\u0bf8\u0bf9\u0005%\u0000\u0000\u0bf9\u0bfb\u0003"+
55314 "\u01b8\u00dc\u0000\u0bfa\u0bf8\u0001\u0000\u0000\u0000\u0bfb\u0bfe\u0001"+
55315 "\u0000\u0000\u0000\u0bfc\u0bfa\u0001\u0000\u0000\u0000\u0bfc\u0bfd\u0001"+
55316 "\u0000\u0000\u0000\u0bfd\u01b7\u0001\u0000\u0000\u0000\u0bfe\u0bfc\u0001"+
55317 "\u0000\u0000\u0000\u0bff\u0c06\u0003\u0144\u00a2\u0000\u0c00\u0c06\u0003"+
55318 "\u017a\u00bd\u0000\u0c01\u0c06\u0003\u017c\u00be\u0000\u0c02\u0c06\u0003"+
55319 "\u017e\u00bf\u0000\u0c03\u0c06\u0003\u01e6\u00f3\u0000\u0c04\u0c06\u0003"+
55320 "\u01ba\u00dd\u0000\u0c05\u0bff\u0001\u0000\u0000\u0000\u0c05\u0c00\u0001"+
55321 "\u0000\u0000\u0000\u0c05\u0c01\u0001\u0000\u0000\u0000\u0c05\u0c02\u0001"+
55322 "\u0000\u0000\u0000\u0c05\u0c03\u0001\u0000\u0000\u0000\u0c05\u0c04\u0001"+
55323 "\u0000\u0000\u0000\u0c06\u01b9\u0001\u0000\u0000\u0000\u0c07\u0c08\u0005"+
55324 "?\u0000\u0000\u0c08\u0c0a\u0003X,\u0000\u0c09\u0c07\u0001\u0000\u0000"+
55325 "\u0000\u0c09\u0c0a\u0001\u0000\u0000\u0000\u0c0a\u0c0b\u0001\u0000\u0000"+
55326 "\u0000\u0c0b\u0c0c\u0005\u009a\u0000\u0000\u0c0c\u0c0d\u0003t:\u0000\u0c0d"+
55327 "\u0c0e\u0005f\u0000\u0000\u0c0e\u0c0f\u0003H$\u0000\u0c0f\u01bb\u0001"+
55328 "\u0000\u0000\u0000\u0c10\u0c11\u0003\u01be\u00df\u0000\u0c11\u0c12\u0005"+
55329 "%\u0000\u0000\u0c12\u0c13\u0003\u0192\u00c9\u0000\u0c13\u0c19\u0001\u0000"+
55330 "\u0000\u0000\u0c14\u0c15\u0003\u0192\u00c9\u0000\u0c15\u0c16\u0005%\u0000"+
55331 "\u0000\u0c16\u0c17\u0003\u01be\u00df\u0000\u0c17\u0c19\u0001\u0000\u0000"+
55332 "\u0000\u0c18\u0c10\u0001\u0000\u0000\u0000\u0c18\u0c14\u0001\u0000\u0000"+
55333 "\u0000\u0c19\u01bd\u0001\u0000\u0000\u0000\u0c1a\u0c1b\u0003\u01c0\u00e0"+
55334 "\u0000\u0c1b\u0c1c\u0005\u009a\u0000\u0000\u0c1c\u0c1f\u0003t:\u0000\u0c1d"+
55335 "\u0c1e\u0005M\u0000\u0000\u0c1e\u0c20\u0005L\u0000\u0000\u0c1f\u0c1d\u0001"+
55336 "\u0000\u0000\u0000\u0c1f\u0c20\u0001\u0000\u0000\u0000\u0c20\u0c21\u0001"+
55337 "\u0000\u0000\u0000\u0c21\u0c22\u0005%\u0000\u0000\u0c22\u0c23\u0003\u01c0"+
55338 "\u00e0\u0000\u0c23\u01bf\u0001\u0000\u0000\u0000\u0c24\u0c25\u0003H$\u0000"+
55339 "\u0c25\u0c26\u0003\u00a0P\u0000\u0c26\u0c27\u0005\u00f8\u0000\u0000\u0c27"+
55340 "\u0c28\u0005\u00f5\u0000\u0000\u0c28\u0c29\u0005`\u0000\u0000\u0c29\u0c2b"+
55341 "\u0005\u00f1\u0000\u0000\u0c2a\u0c2c\u0007\u001f\u0000\u0000\u0c2b\u0c2a"+
55342 "\u0001\u0000\u0000\u0000\u0c2b\u0c2c\u0001\u0000\u0000\u0000\u0c2c\u0c2e"+
55343 "\u0001\u0000\u0000\u0000\u0c2d\u0c2f\u0005\u00ec\u0000\u0000\u0c2e\u0c2d"+
55344 "\u0001\u0000\u0000\u0000\u0c2e\u0c2f\u0001\u0000\u0000\u0000\u0c2f\u0c32"+
55345 "\u0001\u0000\u0000\u0000\u0c30\u0c31\u0005k\u0000\u0000\u0c31\u0c33\u0005"+
55346 "l\u0000\u0000\u0c32\u0c30\u0001\u0000\u0000\u0000\u0c32\u0c33\u0001\u0000"+
55347 "\u0000\u0000\u0c33\u0c36\u0001\u0000\u0000\u0000\u0c34\u0c35\u0005?\u0000"+
55348 "\u0000\u0c35\u0c37\u0003\u00d4j\u0000\u0c36\u0c34\u0001\u0000\u0000\u0000"+
55349 "\u0c36\u0c37\u0001\u0000\u0000\u0000\u0c37\u01c1\u0001\u0000\u0000\u0000"+
55350 "\u0c38\u0c3f\u00054\u0000\u0000\u0c39\u0c40\u0003\u01c4\u00e2\u0000\u0c3a"+
55351 "\u0c40\u0003\u01ce\u00e7\u0000\u0c3b\u0c40\u0003\u01d0\u00e8\u0000\u0c3c"+
55352 "\u0c3d\u0005\u012d\u0000\u0000\u0c3d\u0c3e\u0005f\u0000\u0000\u0c3e\u0c40"+
55353 "\u0005\u019a\u0000\u0000\u0c3f\u0c39\u0001\u0000\u0000\u0000\u0c3f\u0c3a"+
55354 "\u0001\u0000\u0000\u0000\u0c3f\u0c3b\u0001\u0000\u0000\u0000\u0c3f\u0c3c"+
55355 "\u0001\u0000\u0000\u0000\u0c40\u01c3\u0001\u0000\u0000\u0000\u0c41\u0c43"+
55356 "\u0005?\u0000\u0000\u0c42\u0c41\u0001\u0000\u0000\u0000\u0c42\u0c43\u0001"+
55357 "\u0000\u0000\u0000\u0c43\u0c45\u0001\u0000\u0000\u0000\u0c44\u0c46\u0003"+
55358 "\u00e8t\u0000\u0c45\u0c44\u0001\u0000\u0000\u0000\u0c45\u0c46\u0001\u0000"+
55359 "\u0000\u0000\u0c46\u0c47\u0001\u0000\u0000\u0000\u0c47\u0c4c\u0003\u01c6"+
55360 "\u00e3\u0000\u0c48\u0c49\u0005%\u0000\u0000\u0c49\u0c4b\u0003\u01c6\u00e3"+
55361 "\u0000\u0c4a\u0c48\u0001\u0000\u0000\u0000\u0c4b\u0c4e\u0001\u0000\u0000"+
55362 "\u0000\u0c4c\u0c4a\u0001\u0000\u0000\u0000\u0c4c\u0c4d\u0001\u0000\u0000"+
55363 "\u0000\u0c4d\u01c5\u0001\u0000\u0000\u0000\u0c4e\u0c4c\u0001\u0000\u0000"+
55364 "\u0000\u0c4f\u0c51\u0003X,\u0000\u0c50\u0c52\u0003\u01c8\u00e4\u0000\u0c51"+
55365 "\u0c50\u0001\u0000\u0000\u0000\u0c51\u0c52\u0001\u0000\u0000\u0000\u0c52"+
55366 "\u01c7\u0001\u0000\u0000\u0000\u0c53\u0c54\u0005M\u0000\u0000\u0c54\u0c55"+
55367 "\u0005\u001f\u0000\u0000\u0c55\u0c5a\u0003\u01ca\u00e5\u0000\u0c56\u0c57"+
55368 "\u0005%\u0000\u0000\u0c57\u0c59\u0003\u01ca\u00e5\u0000\u0c58\u0c56\u0001"+
55369 "\u0000\u0000\u0000\u0c59\u0c5c\u0001\u0000\u0000\u0000\u0c5a\u0c58\u0001"+
55370 "\u0000\u0000\u0000\u0c5a\u0c5b\u0001\u0000\u0000\u0000\u0c5b\u0c5d\u0001"+
55371 "\u0000\u0000\u0000\u0c5c\u0c5a\u0001\u0000\u0000\u0000\u0c5d\u0c5e\u0005"+
55372 " \u0000\u0000\u0c5e\u01c9\u0001\u0000\u0000\u0000\u0c5f\u0c60\u0005\u0124"+
55373 "\u0000\u0000\u0c60\u0c61\u0005\u0018\u0000\u0000\u0c61\u0c71\u0005\u02cb"+
55374 "\u0000\u0000\u0c62\u0c63\u0005\u0129\u0000\u0000\u0c63\u0c64\u0005\u0018"+
55375 "\u0000\u0000\u0c64\u0c71\u0003\u01cc\u00e6\u0000\u0c65\u0c66\u0005\u0125"+
55376 "\u0000\u0000\u0c66\u0c6e\u0005g\u0000\u0000\u0c67\u0c68\u00034\u001a\u0000"+
55377 "\u0c68\u0c69\u0005\u001f\u0000\u0000\u0c69\u0c6a\u0003H$\u0000\u0c6a\u0c6b"+
55378 "\u0005 \u0000\u0000\u0c6b\u0c6f\u0001\u0000\u0000\u0000\u0c6c\u0c6f\u0003"+
55379 "\u00d4j\u0000\u0c6d\u0c6f\u0005\u02ca\u0000\u0000\u0c6e\u0c67\u0001\u0000"+
55380 "\u0000\u0000\u0c6e\u0c6c\u0001\u0000\u0000\u0000\u0c6e\u0c6d\u0001\u0000"+
55381 "\u0000\u0000\u0c6f\u0c71\u0001\u0000\u0000\u0000\u0c70\u0c5f\u0001\u0000"+
55382 "\u0000\u0000\u0c70\u0c62\u0001\u0000\u0000\u0000\u0c70\u0c65\u0001\u0000"+
55383 "\u0000\u0000\u0c71\u01cb\u0001\u0000\u0000\u0000\u0c72\u0c73\u0007\u0000"+
55384 "\u0000\u0000\u0c73\u01cd\u0001\u0000\u0000\u0000\u0c74\u0c76\u0005<\u0000"+
55385 "\u0000\u0c75\u0c77\u0003\u00e8t\u0000\u0c76\u0c75\u0001\u0000\u0000\u0000"+
55386 "\u0c76\u0c77\u0001\u0000\u0000\u0000\u0c77\u0c78\u0001\u0000\u0000\u0000"+
55387 "\u0c78\u0c7d\u0003H$\u0000\u0c79\u0c7a\u0005%\u0000\u0000\u0c7a\u0c7c"+
55388 "\u0003H$\u0000\u0c7b\u0c79\u0001\u0000\u0000\u0000\u0c7c\u0c7f\u0001\u0000"+
55389 "\u0000\u0000\u0c7d\u0c7b\u0001\u0000\u0000\u0000\u0c7d\u0c7e\u0001\u0000"+
55390 "\u0000\u0000\u0c7e\u01cf\u0001\u0000\u0000\u0000\u0c7f\u0c7d\u0001\u0000"+
55391 "\u0000\u0000\u0c80\u0c82\u0005>\u0000\u0000\u0c81\u0c83\u0003\u00e8t\u0000"+
55392 "\u0c82\u0c81\u0001\u0000\u0000\u0000\u0c82\u0c83\u0001\u0000\u0000\u0000"+
55393 "\u0c83\u0c84\u0001\u0000\u0000\u0000\u0c84\u0c89\u0003V+\u0000\u0c85\u0c86"+
55394 "\u0005%\u0000\u0000\u0c86\u0c88\u0003V+\u0000\u0c87\u0c85\u0001\u0000"+
55395 "\u0000\u0000\u0c88\u0c8b\u0001\u0000\u0000\u0000\u0c89\u0c87\u0001\u0000"+
55396 "\u0000\u0000\u0c89\u0c8a\u0001\u0000\u0000\u0000\u0c8a\u01d1\u0001\u0000"+
55397 "\u0000\u0000\u0c8b\u0c89\u0001\u0000\u0000\u0000\u0c8c\u0c8e\u0005M\u0000"+
55398 "\u0000\u0c8d\u0c8c\u0001\u0000\u0000\u0000\u0c8d\u0c8e\u0001\u0000\u0000"+
55399 "\u0000\u0c8e\u0c8f\u0001\u0000\u0000\u0000\u0c8f\u0c90\u0007(\u0000\u0000"+
55400 "\u0c90\u0c93\u0005?\u0000\u0000\u0c91\u0c94\u0005r\u0000\u0000\u0c92\u0c94"+
55401 "\u0003X,\u0000\u0c93\u0c91\u0001\u0000\u0000\u0000\u0c93\u0c92\u0001\u0000"+
55402 "\u0000\u0000\u0c94\u01d3\u0001\u0000\u0000\u0000\u0c95\u0c96\u0007)\u0000"+
55403 "\u0000\u0c96\u0c99\u0005G\u0000\u0000\u0c97\u0c9a\u0005r\u0000\u0000\u0c98"+
55404 "\u0c9a\u0003\u00d6k\u0000\u0c99\u0c97\u0001\u0000\u0000\u0000\u0c99\u0c98"+
55405 "\u0001\u0000\u0000\u0000\u0c9a\u01d5\u0001\u0000\u0000\u0000\u0c9b\u0c9e"+
55406 "\u0005\u013a\u0000\u0000\u0c9c\u0c9d\u0005\u00ee\u0000\u0000\u0c9d\u0c9f"+
55407 "\u0003b1\u0000\u0c9e\u0c9c\u0001\u0000\u0000\u0000\u0c9e\u0c9f\u0001\u0000"+
55408 "\u0000\u0000\u0c9f\u0ca0\u0001\u0000\u0000\u0000\u0ca0\u0ca1\u0005g\u0000"+
55409 "\u0000\u0ca1\u0ca4\u0003@ \u0000\u0ca2\u0ca3\u0005\u00ee\u0000\u0000\u0ca3"+
55410 "\u0ca5\u0003b1\u0000\u0ca4\u0ca2\u0001\u0000\u0000\u0000\u0ca4\u0ca5\u0001"+
55411 "\u0000\u0000\u0000\u0ca5\u0cab\u0001\u0000\u0000\u0000\u0ca6\u0ca7\u0005"+
55412 "M\u0000\u0000\u0ca7\u0ca8\u0005\u001f\u0000\u0000\u0ca8\u0ca9\u0003\u00d0"+
55413 "h\u0000\u0ca9\u0caa\u0005 \u0000\u0000\u0caa\u0cac\u0001\u0000\u0000\u0000"+
55414 "\u0cab\u0ca6\u0001\u0000\u0000\u0000\u0cab\u0cac\u0001\u0000\u0000\u0000"+
55415 "\u0cac\u01d7\u0001\u0000\u0000\u0000\u0cad\u0cae\u0005:\u0000\u0000\u0cae"+
55416 "\u0cb1\u0005\u001f\u0000\u0000\u0caf\u0cb2\u0003\u01da\u00ed\u0000\u0cb0"+
55417 "\u0cb2\u0003\u01dc\u00ee\u0000\u0cb1\u0caf\u0001\u0000\u0000\u0000\u0cb1"+
55418 "\u0cb0\u0001\u0000\u0000\u0000\u0cb2\u0cb3\u0001\u0000\u0000\u0000\u0cb3"+
55419 "\u0cb4\u0005 \u0000\u0000\u0cb4\u01d9\u0001\u0000\u0000\u0000\u0cb5\u0cb6"+
55420 "\u0005\u01ab\u0000\u0000\u0cb6\u0cba\u0005\u0018\u0000\u0000\u0cb7\u0cbb"+
55421 "\u00034\u001a\u0000\u0cb8\u0cbb\u0003\u00d4j\u0000\u0cb9\u0cbb\u0005\u02ca"+
55422 "\u0000\u0000\u0cba\u0cb7\u0001\u0000\u0000\u0000\u0cba\u0cb8\u0001\u0000"+
55423 "\u0000\u0000\u0cba\u0cb9\u0001\u0000\u0000\u0000\u0cbb\u01db\u0001\u0000"+
55424 "\u0000\u0000\u0cbc\u0cbd\u0005\u019b\u0000\u0000\u0cbd\u0cc3\u0005\u0018"+
55425 "\u0000\u0000\u0cbe\u0cc4\u0005b\u0000\u0000\u0cbf\u0cc1\u0005a\u0000\u0000"+
55426 "\u0cc0\u0cc2\u0003\u01de\u00ef\u0000\u0cc1\u0cc0\u0001\u0000\u0000\u0000"+
55427 "\u0cc1\u0cc2\u0001\u0000\u0000\u0000\u0cc2\u0cc4\u0001\u0000\u0000\u0000"+
55428 "\u0cc3\u0cbe\u0001\u0000\u0000\u0000\u0cc3\u0cbf\u0001\u0000\u0000\u0000"+
55429 "\u0cc4\u01dd\u0001\u0000\u0000\u0000\u0cc5\u0cc9\u0005\u001f\u0000\u0000"+
55430 "\u0cc6\u0cc7\u0005\u01b3\u0000\u0000\u0cc7\u0cc8\u0005\u0018\u0000\u0000"+
55431 "\u0cc8\u0cca\u0003@ \u0000\u0cc9\u0cc6\u0001\u0000\u0000\u0000\u0cc9\u0cca"+
55432 "\u0001\u0000\u0000\u0000\u0cca\u0ccc\u0001\u0000\u0000\u0000\u0ccb\u0ccd"+
55433 "\u0003\u01e0\u00f0\u0000\u0ccc\u0ccb\u0001\u0000\u0000\u0000\u0ccc\u0ccd"+
55434 "\u0001\u0000\u0000\u0000\u0ccd\u0ccf\u0001\u0000\u0000\u0000\u0cce\u0cd0"+
55435 "\u0003\u01e2\u00f1\u0000\u0ccf\u0cce\u0001\u0000\u0000\u0000\u0ccf\u0cd0"+
55436 "\u0001\u0000\u0000\u0000\u0cd0\u0cd1\u0001\u0000\u0000\u0000\u0cd1\u0cd2"+
55437 "\u0005 \u0000\u0000\u0cd2\u01df\u0001\u0000\u0000\u0000\u0cd3\u0cd5\u0005"+
55438 "%\u0000\u0000\u0cd4\u0cd3\u0001\u0000\u0000\u0000\u0cd4\u0cd5\u0001\u0000"+
55439 "\u0000\u0000\u0cd5\u0cd6\u0001\u0000\u0000\u0000\u0cd6\u0cd7\u0005\u0198"+
55440 "\u0000\u0000\u0cd7\u0cd8\u0005\u0018\u0000\u0000\u0cd8\u0cd9\u0003\u01cc"+
55441 "\u00e6\u0000\u0cd9\u01e1\u0001\u0000\u0000\u0000\u0cda\u0cdc\u0005%\u0000"+
55442 "\u0000\u0cdb\u0cda\u0001\u0000\u0000\u0000\u0cdb\u0cdc\u0001\u0000\u0000"+
55443 "\u0000\u0cdc\u0cdd\u0001\u0000\u0000\u0000\u0cdd\u0cde\u0005\u01b2\u0000"+
55444 "\u0000\u0cde\u0cdf\u0005\u0018\u0000\u0000\u0cdf\u0ce0\u0003\u01e4\u00f2"+
55445 "\u0000\u0ce0\u01e3\u0001\u0000\u0000\u0000\u0ce1\u0ce5\u0005\u0121\u0000"+
55446 "\u0000\u0ce2\u0ce3\u0005\u02cb\u0000\u0000\u0ce3\u0ce5\u0007*\u0000\u0000"+
55447 "\u0ce4\u0ce1\u0001\u0000\u0000\u0000\u0ce4\u0ce2\u0001\u0000\u0000\u0000"+
55448 "\u0ce5\u01e5\u0001\u0000\u0000\u0000\u0ce6\u0ce9\u0003\u01e8\u00f4\u0000"+
55449 "\u0ce7\u0cea\u0003\u01ea\u00f5\u0000\u0ce8\u0cea\u0003\u01ee\u00f7\u0000"+
55450 "\u0ce9\u0ce7\u0001\u0000\u0000\u0000\u0ce9\u0ce8\u0001\u0000\u0000\u0000"+
55451 "\u0cea\u01e7\u0001\u0000\u0000\u0000\u0ceb\u0cec\u0005>\u0000\u0000\u0cec"+
55452 "\u0ced\u0003V+\u0000\u0ced\u01e9\u0001\u0000\u0000\u0000\u0cee\u0cf4\u0005"+
55453 "\u0106\u0000\u0000\u0cef\u0cf5\u0003\u0188\u00c4\u0000\u0cf0\u0cf2\u0003"+
55454 "R)\u0000\u0cf1\u0cf3\u0003\u01ec\u00f6\u0000\u0cf2\u0cf1\u0001\u0000\u0000"+
55455 "\u0000\u0cf2\u0cf3\u0001\u0000\u0000\u0000\u0cf3\u0cf5\u0001\u0000\u0000"+
55456 "\u0000\u0cf4\u0cef\u0001\u0000\u0000\u0000\u0cf4\u0cf0\u0001\u0000\u0000"+
55457 "\u0000\u0cf5\u01eb\u0001\u0000\u0000\u0000\u0cf6\u0cf7\u0005a\u0000\u0000"+
55458 "\u0cf7\u0cfa\u0003\u00d4j\u0000\u0cf8\u0cfa\u0005\u009a\u0000\u0000\u0cf9"+
55459 "\u0cf6\u0001\u0000\u0000\u0000\u0cf9\u0cf8\u0001\u0000\u0000\u0000\u0cfa"+
55460 "\u01ed\u0001\u0000\u0000\u0000\u0cfb\u0cfc\u0005\u0105\u0000\u0000\u0cfc"+
55461 "\u0d04\u0005\u0108\u0000\u0000\u0cfd\u0cfe\u0005M\u0000\u0000\u0cfe\u0cff"+
55462 "\u0005\u0195\u0000\u0000\u0cff\u0d00\u0005\u0018\u0000\u0000\u0d00\u0d02"+
55463 "\u0005\u02cb\u0000\u0000\u0d01\u0d03\u0005\u010f\u0000\u0000\u0d02\u0d01"+
55464 "\u0001\u0000\u0000\u0000\u0d02\u0d03\u0001\u0000\u0000\u0000\u0d03\u0d05"+
55465 "\u0001\u0000\u0000\u0000\u0d04\u0cfd\u0001\u0000\u0000\u0000\u0d04\u0d05"+
55466 "\u0001\u0000\u0000\u0000\u0d05\u0d07\u0001\u0000\u0000\u0000\u0d06\u0d08"+
55467 "\u0003\u0172\u00b9\u0000\u0d07\u0d06\u0001\u0000\u0000\u0000\u0d07\u0d08"+
55468 "\u0001\u0000\u0000\u0000\u0d08\u01ef\u0001\u0000\u0000\u0000\u0d09\u0d0a"+
55469 "\u0005:\u0000\u0000\u0d0a\u0d0b\u0005\u001f\u0000\u0000\u0d0b\u0d0c\u0005"+
55470 "\u01b4\u0000\u0000\u0d0c\u0d0d\u0005\u0018\u0000\u0000\u0d0d\u0d0e\u0007"+
55471 "+\u0000\u0000\u0d0e\u0d1c\u0005 \u0000\u0000\u0d0f\u0d10\u0005\u01a7\u0000"+
55472 "\u0000\u0d10\u0d11\u0005\u0018\u0000\u0000\u0d11\u0d1c\u0005a\u0000\u0000"+
55473 "\u0d12\u0d13\u0005\u0114\u0000\u0000\u0d13\u0d14\u0005\u0018\u0000\u0000"+
55474 "\u0d14\u0d1c\u0007&\u0000\u0000\u0d15\u0d16\u0005\u019b\u0000\u0000\u0d16"+
55475 "\u0d17\u0005\u0018\u0000\u0000\u0d17\u0d19\u0005a\u0000\u0000\u0d18\u0d1a"+
55476 "\u0003\u01f2\u00f9\u0000\u0d19\u0d18\u0001\u0000\u0000\u0000\u0d19\u0d1a"+
55477 "\u0001\u0000\u0000\u0000\u0d1a\u0d1c\u0001\u0000\u0000\u0000\u0d1b\u0d09"+
55478 "\u0001\u0000\u0000\u0000\u0d1b\u0d0f\u0001\u0000\u0000\u0000\u0d1b\u0d12"+
55479 "\u0001\u0000\u0000\u0000\u0d1b\u0d15\u0001\u0000\u0000\u0000\u0d1c\u01f1"+
55480 "\u0001\u0000\u0000\u0000\u0d1d\u0d1e\u0005\u001f\u0000\u0000\u0d1e\u0d1f"+
55481 "\u0005\u01b3\u0000\u0000\u0d1f\u0d20\u0005\u0018\u0000\u0000\u0d20\u0d25"+
55482 "\u0003@ \u0000\u0d21\u0d22\u0005%\u0000\u0000\u0d22\u0d23\u0005\u0198"+
55483 "\u0000\u0000\u0d23\u0d24\u0005\u0018\u0000\u0000\u0d24\u0d26\u0003\u01cc"+
55484 "\u00e6\u0000\u0d25\u0d21\u0001\u0000\u0000\u0000\u0d25\u0d26\u0001\u0000"+
55485 "\u0000\u0000\u0d26\u0d27\u0001\u0000\u0000\u0000\u0d27\u0d28\u0005 \u0000"+
55486 "\u0000\u0d28\u01f3\u0001\u0000\u0000\u0000\u0d29\u0d2a\u0005\u01ef\u0000"+
55487 "\u0000\u0d2a\u0d2b\u0005\u0018\u0000\u0000\u0d2b\u0d2d\u0007,\u0000\u0000"+
55488 "\u0d2c\u0d29\u0001\u0000\u0000\u0000\u0d2c\u0d2d\u0001\u0000\u0000\u0000"+
55489 "\u0d2d\u0d2f\u0001\u0000\u0000\u0000\u0d2e\u0d30\u0003\u01f6\u00fb\u0000"+
55490 "\u0d2f\u0d2e\u0001\u0000\u0000\u0000\u0d2f\u0d30\u0001\u0000\u0000\u0000"+
55491 "\u0d30\u0d33\u0001\u0000\u0000\u0000\u0d31\u0d32\u0005\u0107\u0000\u0000"+
55492 "\u0d32\u0d34\u0003\u00d4j\u0000\u0d33\u0d31\u0001\u0000\u0000\u0000\u0d33"+
55493 "\u0d34\u0001\u0000\u0000\u0000\u0d34\u0d3e\u0001\u0000\u0000\u0000\u0d35"+
55494 "\u0d36\u0005M\u0000\u0000\u0d36\u0d3b\u0003\u01f8\u00fc\u0000\u0d37\u0d38"+
55495 "\u0005%\u0000\u0000\u0d38\u0d3a\u0003\u01f8\u00fc\u0000\u0d39\u0d37\u0001"+
55496 "\u0000\u0000\u0000\u0d3a\u0d3d\u0001\u0000\u0000\u0000\u0d3b\u0d39\u0001"+
55497 "\u0000\u0000\u0000\u0d3b\u0d3c\u0001\u0000\u0000\u0000\u0d3c\u0d3f\u0001"+
55498 "\u0000\u0000\u0000\u0d3d\u0d3b\u0001\u0000\u0000\u0000\u0d3e\u0d35\u0001"+
55499 "\u0000\u0000\u0000\u0d3e\u0d3f\u0001\u0000\u0000\u0000\u0d3f\u01f5\u0001"+
55500 "\u0000\u0000\u0000\u0d40\u0d42\u0005a\u0000\u0000\u0d41\u0d43\u0005@\u0000"+
55501 "\u0000\u0d42\u0d41\u0001\u0000\u0000\u0000\u0d42\u0d43\u0001\u0000\u0000"+
55502 "\u0000\u0d43\u0d44\u0001\u0000\u0000\u0000\u0d44\u0d49\u0003\u01fc\u00fe"+
55503 "\u0000\u0d45\u0d46\u0005%\u0000\u0000\u0d46\u0d48\u0003\u01fc\u00fe\u0000"+
55504 "\u0d47\u0d45\u0001\u0000\u0000\u0000\u0d48\u0d4b\u0001\u0000\u0000\u0000"+
55505 "\u0d49\u0d47\u0001\u0000\u0000\u0000\u0d49\u0d4a\u0001\u0000\u0000\u0000"+
55506 "\u0d4a\u0d50\u0001\u0000\u0000\u0000\u0d4b\u0d49\u0001\u0000\u0000\u0000"+
55507 "\u0d4c\u0d4d\u0005%\u0000\u0000\u0d4d\u0d4f\u0003\u0200\u0100\u0000\u0d4e"+
55508 "\u0d4c\u0001\u0000\u0000\u0000\u0d4f\u0d52\u0001\u0000\u0000\u0000\u0d50"+
55509 "\u0d4e\u0001\u0000\u0000\u0000\u0d50\u0d51\u0001\u0000\u0000\u0000\u0d51"+
55510 "\u0d53\u0001\u0000\u0000\u0000\u0d52\u0d50\u0001\u0000\u0000\u0000\u0d53"+
55511 "\u0d54\u0003\u0204\u0102\u0000\u0d54\u01f7\u0001\u0000\u0000\u0000\u0d55"+
55512 "\u0d56\u0005\u0117\u0000\u0000\u0d56\u0d5b\u0003\u01fa\u00fd\u0000\u0d57"+
55513 "\u0d58\u0005%\u0000\u0000\u0d58\u0d5a\u0003\u01fa\u00fd\u0000\u0d59\u0d57"+
55514 "\u0001\u0000\u0000\u0000\u0d5a\u0d5d\u0001\u0000\u0000\u0000\u0d5b\u0d59"+
55515 "\u0001\u0000\u0000\u0000\u0d5b\u0d5c\u0001\u0000\u0000\u0000\u0d5c\u0d78"+
55516 "\u0001\u0000\u0000\u0000\u0d5d\u0d5b\u0001\u0000\u0000\u0000\u0d5e\u0d5f"+
55517 "\u0005\u0289\u0000\u0000\u0d5f\u0d60\u0005\u0018\u0000\u0000\u0d60\u0d78"+
55518 "\u0003\u00d4j\u0000\u0d61\u0d62\u0005\u028a\u0000\u0000\u0d62\u0d63\u0005"+
55519 "\u0018\u0000\u0000\u0d63\u0d78\u0003\u00d4j\u0000\u0d64\u0d65\u0005\u028c"+
55520 "\u0000\u0000\u0d65\u0d66\u0005\u0018\u0000\u0000\u0d66\u0d78\u0007\u0000"+
55521 "\u0000\u0000\u0d67\u0d68\u0005\u028d\u0000\u0000\u0d68\u0d69\u0005\u0018"+
55522 "\u0000\u0000\u0d69\u0d78\u0007\u0000\u0000\u0000\u0d6a\u0d6b\u0005\u028e"+
55523 "\u0000\u0000\u0d6b\u0d6c\u0005\u0018\u0000\u0000\u0d6c\u0d78\u0003\u00d4"+
55524 "j\u0000\u0d6d\u0d6e\u0005\u01fe\u0000\u0000\u0d6e\u0d78\u0007\u0000\u0000"+
55525 "\u0000\u0d6f\u0d70\u0005\u01ff\u0000\u0000\u0d70\u0d78\u0007\u0000\u0000"+
55526 "\u0000\u0d71\u0d72\u0005\u028f\u0000\u0000\u0d72\u0d73\u0005\u0018\u0000"+
55527 "\u0000\u0d73\u0d74\u0005a\u0000\u0000\u0d74\u0d75\u0005\u0290\u0000\u0000"+
55528 "\u0d75\u0d76\u0005\u0018\u0000\u0000\u0d76\u0d78\u0003\u00d4j\u0000\u0d77"+
55529 "\u0d55\u0001\u0000\u0000\u0000\u0d77\u0d5e\u0001\u0000\u0000\u0000\u0d77"+
55530 "\u0d61\u0001\u0000\u0000\u0000\u0d77\u0d64\u0001\u0000\u0000\u0000\u0d77"+
55531 "\u0d67\u0001\u0000\u0000\u0000\u0d77\u0d6a\u0001\u0000\u0000\u0000\u0d77"+
55532 "\u0d6d\u0001\u0000\u0000\u0000\u0d77\u0d6f\u0001\u0000\u0000\u0000\u0d77"+
55533 "\u0d71\u0001\u0000\u0000\u0000\u0d78\u01f9\u0001\u0000\u0000\u0000\u0d79"+
55534 "\u0d7a\u0005\u01fd\u0000\u0000\u0d7a\u0d7b\u0005\u0018\u0000\u0000\u0d7b"+
55535 "\u0d80\u0007-\u0000\u0000\u0d7c\u0d7d\u0005\u0290\u0000\u0000\u0d7d\u0d7e"+
55536 "\u0005\u0018\u0000\u0000\u0d7e\u0d80\u0003\u00d4j\u0000\u0d7f\u0d79\u0001"+
55537 "\u0000\u0000\u0000\u0d7f\u0d7c\u0001\u0000\u0000\u0000\u0d80\u01fb\u0001"+
55538 "\u0000\u0000\u0000\u0d81\u0d82\u0005\u001f\u0000\u0000\u0d82\u0d83\u0005"+
55539 "\u00aa\u0000\u0000\u0d83\u0d84\u0005\u0018\u0000\u0000\u0d84\u0d85\u0003"+
55540 "\u00d4j\u0000\u0d85\u0d86\u0005%\u0000\u0000\u0d86\u0d87\u0005\u01f1\u0000"+
55541 "\u0000\u0d87\u0d88\u0005\u0018\u0000\u0000\u0d88\u0d89\u0005\u02ca\u0000"+
55542 "\u0000\u0d89\u0d8a\u0003\u01fe\u00ff\u0000\u0d8a\u0d8b\u0005 \u0000\u0000"+
55543 "\u0d8b\u01fd\u0001\u0000\u0000\u0000\u0d8c\u0d8d\u0005%\u0000\u0000\u0d8d"+
55544 "\u0d8e\u0005\u01f2\u0000\u0000\u0d8e\u0d8f\u0005\u0018\u0000\u0000\u0d8f"+
55545 "\u0d91\u0003\u001e\u000f\u0000\u0d90\u0d92\u0007.\u0000\u0000\u0d91\u0d90"+
55546 "\u0001\u0000\u0000\u0000\u0d91\u0d92\u0001\u0000\u0000\u0000\u0d92\u0d94"+
55547 "\u0001\u0000\u0000\u0000\u0d93\u0d8c\u0001\u0000\u0000\u0000\u0d93\u0d94"+
55548 "\u0001\u0000\u0000\u0000\u0d94\u0d9f\u0001\u0000\u0000\u0000\u0d95\u0d96"+
55549 "\u0005%\u0000\u0000\u0d96\u0d97\u0005\u01f3\u0000\u0000\u0d97\u0d9d\u0005"+
55550 "\u0018\u0000\u0000\u0d98\u0d9a\u0003\u001e\u000f\u0000\u0d99\u0d9b\u0007"+
55551 ".\u0000\u0000\u0d9a\u0d99\u0001\u0000\u0000\u0000\u0d9a\u0d9b\u0001\u0000"+
55552 "\u0000\u0000\u0d9b\u0d9e\u0001\u0000\u0000\u0000\u0d9c\u0d9e\u0005\u01f5"+
55553 "\u0000\u0000\u0d9d\u0d98\u0001\u0000\u0000\u0000\u0d9d\u0d9c\u0001\u0000"+
55554 "\u0000\u0000\u0d9e\u0da0\u0001\u0000\u0000\u0000\u0d9f\u0d95\u0001\u0000"+
55555 "\u0000\u0000\u0d9f\u0da0\u0001\u0000\u0000\u0000\u0da0\u0da8\u0001\u0000"+
55556 "\u0000\u0000\u0da1\u0da2\u0005%\u0000\u0000\u0da2\u0da3\u0005\u01f4\u0000"+
55557 "\u0000\u0da3\u0da4\u0005\u0018\u0000\u0000\u0da4\u0da6\u0003\u001e\u000f"+
55558 "\u0000\u0da5\u0da7\u0007/\u0000\u0000\u0da6\u0da5\u0001\u0000\u0000\u0000"+
55559 "\u0da6\u0da7\u0001\u0000\u0000\u0000\u0da7\u0da9\u0001\u0000\u0000\u0000"+
55560 "\u0da8\u0da1\u0001\u0000\u0000\u0000\u0da8\u0da9\u0001\u0000\u0000\u0000"+
55561 "\u0da9\u01ff\u0001\u0000\u0000\u0000\u0daa\u0dab\u0005\u01fc\u0000\u0000"+
55562 "\u0dab\u0dad\u0003\u00d4j\u0000\u0dac\u0dae\u0003\u0202\u0101\u0000\u0dad"+
55563 "\u0dac\u0001\u0000\u0000\u0000\u0dad\u0dae\u0001\u0000\u0000\u0000\u0dae"+
55564 "\u0daf\u0001\u0000\u0000\u0000\u0daf\u0db4\u0003\u01fc\u00fe\u0000\u0db0"+
55565 "\u0db1\u0005%\u0000\u0000\u0db1\u0db3\u0003\u01fc\u00fe\u0000\u0db2\u0db0"+
55566 "\u0001\u0000\u0000\u0000\u0db3\u0db6\u0001\u0000\u0000\u0000\u0db4\u0db2"+
55567 "\u0001\u0000\u0000\u0000\u0db4\u0db5\u0001\u0000\u0000\u0000\u0db5\u0201"+
55568 "\u0001\u0000\u0000\u0000\u0db6\u0db4\u0001\u0000\u0000\u0000\u0db7\u0db8"+
55569 "\u0005\u01fa\u0000\u0000\u0db8\u0dba\u0005\u0117\u0000\u0000\u0db9\u0db7"+
55570 "\u0001\u0000\u0000\u0000\u0db9\u0dba\u0001\u0000\u0000\u0000\u0dba\u0dbc"+
55571 "\u0001\u0000\u0000\u0000\u0dbb\u0dbd\u0005\u009a\u0000\u0000\u0dbc\u0dbb"+
55572 "\u0001\u0000\u0000\u0000\u0dbc\u0dbd\u0001\u0000\u0000\u0000\u0dbd\u0dc1"+
55573 "\u0001\u0000\u0000\u0000\u0dbe\u0dbf\u0005\u01fa\u0000\u0000\u0dbf\u0dc1"+
55574 "\u0005\u01fb\u0000\u0000\u0dc0\u0db9\u0001\u0000\u0000\u0000\u0dc0\u0dbe"+
55575 "\u0001\u0000\u0000\u0000\u0dc1\u0203\u0001\u0000\u0000\u0000\u0dc2\u0dc3"+
55576 "\u0005\u0186\u0000\u0000\u0dc3\u0dc4\u0005a\u0000\u0000\u0dc4\u0dc9\u0003"+
55577 "\u01fc\u00fe\u0000\u0dc5\u0dc6\u0005%\u0000\u0000\u0dc6\u0dc8\u0003\u01fc"+
55578 "\u00fe\u0000\u0dc7\u0dc5\u0001\u0000\u0000\u0000\u0dc8\u0dcb\u0001\u0000"+
55579 "\u0000\u0000\u0dc9\u0dc7\u0001\u0000\u0000\u0000\u0dc9\u0dca\u0001\u0000"+
55580 "\u0000\u0000\u0dca\u0dcd\u0001\u0000\u0000\u0000\u0dcb\u0dc9\u0001\u0000"+
55581 "\u0000\u0000\u0dcc\u0dc2\u0001\u0000\u0000\u0000\u0dcc\u0dcd\u0001\u0000"+
55582 "\u0000\u0000\u0dcd\u0205\u0001\u0000\u0000\u0000\u0dce\u0dd8\u0005\u00cd"+
55583 "\u0000\u0000\u0dcf\u0dd4\u0003\u0208\u0104\u0000\u0dd0\u0dd1\u0005%\u0000"+
55584 "\u0000\u0dd1\u0dd3\u0003\u0208\u0104\u0000\u0dd2\u0dd0\u0001\u0000\u0000"+
55585 "\u0000\u0dd3\u0dd6\u0001\u0000\u0000\u0000\u0dd4\u0dd2\u0001\u0000\u0000"+
55586 "\u0000\u0dd4\u0dd5\u0001\u0000\u0000\u0000\u0dd5\u0dd9\u0001\u0000\u0000"+
55587 "\u0000\u0dd6\u0dd4\u0001\u0000\u0000\u0000\u0dd7\u0dd9\u0003\u020a\u0105"+
55588 "\u0000\u0dd8\u0dcf\u0001\u0000\u0000\u0000\u0dd8\u0dd7\u0001\u0000\u0000"+
55589 "\u0000\u0dd9\u0207\u0001\u0000\u0000\u0000\u0dda\u0ddc\u0003\u00dam\u0000"+
55590 "\u0ddb\u0ddd\u0005`\u0000\u0000\u0ddc\u0ddb\u0001\u0000\u0000\u0000\u0ddc"+
55591 "\u0ddd\u0001\u0000\u0000\u0000\u0ddd\u0dde\u0001\u0000\u0000\u0000\u0dde"+
55592 "\u0de1\u0003\u009eO\u0000\u0ddf\u0de0\u0005\u0018\u0000\u0000\u0de0\u0de2"+
55593 "\u0003t:\u0000\u0de1\u0ddf\u0001\u0000\u0000\u0000\u0de1\u0de2\u0001\u0000"+
55594 "\u0000\u0000\u0de2\u0de7\u0001\u0000\u0000\u0000\u0de3\u0de4\u0003\u00da"+
55595 "m\u0000\u0de4\u0de5\u0005\u00ce\u0000\u0000\u0de5\u0de7\u0001\u0000\u0000"+
55596 "\u0000\u0de6\u0dda\u0001\u0000\u0000\u0000\u0de6\u0de3\u0001\u0000\u0000"+
55597 "\u0000\u0de7\u0209\u0001\u0000\u0000\u0000\u0de8\u0dea\u0003\u00dam\u0000"+
55598 "\u0de9\u0deb\u0005`\u0000\u0000\u0dea\u0de9\u0001\u0000\u0000\u0000\u0dea"+
55599 "\u0deb\u0001\u0000\u0000\u0000\u0deb\u0dec\u0001\u0000\u0000\u0000\u0dec"+
55600 "\u0ded\u0003\u020c\u0106\u0000\u0ded\u020b\u0001\u0000\u0000\u0000\u0dee"+
55601 "\u0def\u0005;\u0000\u0000\u0def\u0df0\u0005\u001f\u0000\u0000\u0df0\u0df5"+
55602 "\u0003\u020e\u0107\u0000\u0df1\u0df2\u0005%\u0000\u0000\u0df2\u0df4\u0003"+
55603 "\u020e\u0107\u0000\u0df3\u0df1\u0001\u0000\u0000\u0000\u0df4\u0df7\u0001"+
55604 "\u0000\u0000\u0000\u0df5\u0df3\u0001\u0000\u0000\u0000\u0df5\u0df6\u0001"+
55605 "\u0000\u0000\u0000\u0df6\u0df8\u0001\u0000\u0000\u0000\u0df7\u0df5\u0001"+
55606 "\u0000\u0000\u0000\u0df8\u0df9\u0005 \u0000\u0000\u0df9\u020d\u0001\u0000"+
55607 "\u0000\u0000\u0dfa\u0dfd\u0003\u0210\u0108\u0000\u0dfb\u0dfd\u0003\u0214"+
55608 "\u010a\u0000\u0dfc\u0dfa\u0001\u0000\u0000\u0000\u0dfc\u0dfb\u0001\u0000"+
55609 "\u0000\u0000\u0dfd\u020f\u0001\u0000\u0000\u0000\u0dfe\u0e02\u0003H$\u0000"+
55610 "\u0dff\u0e03\u0003\u00a0P\u0000\u0e00\u0e01\u0005`\u0000\u0000\u0e01\u0e03"+
55611 "\u0003b1\u0000\u0e02\u0dff\u0001\u0000\u0000\u0000\u0e02\u0e00\u0001\u0000"+
55612 "\u0000\u0000\u0e03\u0e06\u0001\u0000\u0000\u0000\u0e04\u0e05\u0005\u0107"+
55613 "\u0000\u0000\u0e05\u0e07\u0003Z-\u0000\u0e06\u0e04\u0001\u0000\u0000\u0000"+
55614 "\u0e06\u0e07\u0001\u0000\u0000\u0000\u0e07\u0e14\u0001\u0000\u0000\u0000"+
55615 "\u0e08\u0e09\u0005\u009a\u0000\u0000\u0e09\u0e0b\u0003b1\u0000\u0e0a\u0e08"+
55616 "\u0001\u0000\u0000\u0000\u0e0a\u0e0b\u0001\u0000\u0000\u0000\u0e0b\u0e15"+
55617 "\u0001\u0000\u0000\u0000\u0e0c\u0e12\u0005\u011d\u0000\u0000\u0e0d\u0e0e"+
55618 "\u0005\u001f\u0000\u0000\u0e0e\u0e0f\u0005\u02cb\u0000\u0000\u0e0f\u0e10"+
55619 "\u0005%\u0000\u0000\u0e10\u0e11\u0005\u02cb\u0000\u0000\u0e11\u0e13\u0005"+
55620 " \u0000\u0000\u0e12\u0e0d\u0001\u0000\u0000\u0000\u0e12\u0e13\u0001\u0000"+
55621 "\u0000\u0000\u0e13\u0e15\u0001\u0000\u0000\u0000\u0e14\u0e0a\u0001\u0000"+
55622 "\u0000\u0000\u0e14\u0e0c\u0001\u0000\u0000\u0000\u0e15\u0e17\u0001\u0000"+
55623 "\u0000\u0000\u0e16\u0e18\u0005\u0136\u0000\u0000\u0e17\u0e16\u0001\u0000"+
55624 "\u0000\u0000\u0e17\u0e18\u0001\u0000\u0000\u0000\u0e18\u0e19\u0001\u0000"+
55625 "\u0000\u0000\u0e19\u0e1a\u0003\u0212\u0109\u0000\u0e1a\u0211\u0001\u0000"+
55626 "\u0000\u0000\u0e1b\u0e1f\u0005l\u0000\u0000\u0e1c\u0e1d\u0005k\u0000\u0000"+
55627 "\u0e1d\u0e1f\u0005l\u0000\u0000\u0e1e\u0e1b\u0001\u0000\u0000\u0000\u0e1e"+
55628 "\u0e1c\u0001\u0000\u0000\u0000\u0e1e\u0e1f\u0001\u0000\u0000\u0000\u0e1f"+
55629 "\u0e2d\u0001\u0000\u0000\u0000\u0e20\u0e21\u0005@\u0000\u0000\u0e21\u0e24"+
55630 "\u0005C\u0000\u0000\u0e22\u0e24\u0005A\u0000\u0000\u0e23\u0e20\u0001\u0000"+
55631 "\u0000\u0000\u0e23\u0e22\u0001\u0000\u0000\u0000\u0e23\u0e24\u0001\u0000"+
55632 "\u0000\u0000\u0e24\u0e2d\u0001\u0000\u0000\u0000\u0e25\u0e26\u0005\u00f7"+
55633 "\u0000\u0000\u0e26\u0e27\u0005\u001f\u0000\u0000\u0e27\u0e28\u0003b1\u0000"+
55634 "\u0e28\u0e29\u0005 \u0000\u0000\u0e29\u0e2d\u0001\u0000\u0000\u0000\u0e2a"+
55635 "\u0e2b\u0005M\u0000\u0000\u0e2b\u0e2d\u0003\u00bc^\u0000\u0e2c\u0e1e\u0001"+
55636 "\u0000\u0000\u0000\u0e2c\u0e23\u0001\u0000\u0000\u0000\u0e2c\u0e25\u0001"+
55637 "\u0000\u0000\u0000\u0e2c\u0e2a\u0001\u0000\u0000\u0000\u0e2d\u0213\u0001"+
55638 "\u0000\u0000\u0000\u0e2e\u0e2f\u0005@\u0000\u0000\u0e2f\u0e32\u0005C\u0000"+
55639 "\u0000\u0e30\u0e32\u0005A\u0000\u0000\u0e31\u0e2e\u0001\u0000\u0000\u0000"+
55640 "\u0e31\u0e30\u0001\u0000\u0000\u0000\u0e32\u0e33\u0001\u0000\u0000\u0000"+
55641 "\u0e33\u0e34\u0005\u001f\u0000\u0000\u0e34\u0e39\u0003H$\u0000\u0e35\u0e36"+
55642 "\u0005%\u0000\u0000\u0e36\u0e38\u0003H$\u0000\u0e37\u0e35\u0001\u0000"+
55643 "\u0000\u0000\u0e38\u0e3b\u0001\u0000\u0000\u0000\u0e39\u0e37\u0001\u0000"+
55644 "\u0000\u0000\u0e39\u0e3a\u0001\u0000\u0000\u0000\u0e3a\u0e3c\u0001\u0000"+
55645 "\u0000\u0000\u0e3b\u0e39\u0001\u0000\u0000\u0000\u0e3c\u0e3d\u0005 \u0000"+
55646 "\u0000\u0e3d\u0e41\u0001\u0000\u0000\u0000\u0e3e\u0e3f\u0005\u00f7\u0000"+
55647 "\u0000\u0e3f\u0e41\u0003b1\u0000\u0e40\u0e31\u0001\u0000\u0000\u0000\u0e40"+
55648 "\u0e3e\u0001\u0000\u0000\u0000\u0e41\u0215\u0001\u0000\u0000\u0000\u0e42"+
55649 "\u0e43\u0005:\u0000\u0000\u0e43\u0e44\u0003\u00dam\u0000\u0e44\u0e45\u0003"+
55650 "\u0218\u010c\u0000\u0e45\u0217\u0001\u0000\u0000\u0000\u0e46\u0e47\u0005"+
55651 "\u0014\u0000\u0000\u0e47\u0e49\u0003*\u0015\u0000\u0e48\u0e46\u0001\u0000"+
55652 "\u0000\u0000\u0e48\u0e49\u0001\u0000\u0000\u0000\u0e49\u0e4a\u0001\u0000"+
55653 "\u0000\u0000\u0e4a\u0e51\u0005\u0018\u0000\u0000\u0e4b\u0e52\u0003b1\u0000"+
55654 "\u0e4c\u0e4d\u0003*\u0015\u0000\u0e4d\u0e4e\u0005\u0014\u0000\u0000\u0e4e"+
55655 "\u0e4f\u0003*\u0015\u0000\u0e4f\u0e52\u0001\u0000\u0000\u0000\u0e50\u0e52"+
55656 "\u0005\u02d1\u0000\u0000\u0e51\u0e4b\u0001\u0000\u0000\u0000\u0e51\u0e4c"+
55657 "\u0001\u0000\u0000\u0000\u0e51\u0e50\u0001\u0000\u0000\u0000\u0e52\u0e5e"+
55658 "\u0001\u0000\u0000\u0000\u0e53\u0e54\u0003\u021e\u010f\u0000\u0e54\u0e55"+
55659 "\u0003b1\u0000\u0e55\u0e5e\u0001\u0000\u0000\u0000\u0e56\u0e57\u0005\u0018"+
55660 "\u0000\u0000\u0e57\u0e5e\u0003\u021a\u010d\u0000\u0e58\u0e59\u0005\u0018"+
55661 "\u0000\u0000\u0e59\u0e5a\u0005\u001f\u0000\u0000\u0e5a\u0e5b\u0003\u02ca"+
55662 "\u0165\u0000\u0e5b\u0e5c\u0005 \u0000\u0000\u0e5c\u0e5e\u0001\u0000\u0000"+
55663 "\u0000\u0e5d\u0e48\u0001\u0000\u0000\u0000\u0e5d\u0e53\u0001\u0000\u0000"+
55664 "\u0000\u0e5d\u0e56\u0001\u0000\u0000\u0000\u0e5d\u0e58\u0001\u0000\u0000"+
55665 "\u0000\u0e5e\u0219\u0001\u0000\u0000\u0000\u0e5f\u0e73\u0003\u00dam\u0000"+
55666 "\u0e60\u0e61\u0005\u00ce\u0000\u0000\u0e61\u0e62\u0003\u021c\u010e\u0000"+
55667 "\u0e62\u0e63\u0005f\u0000\u0000\u0e63\u0e64\u0003\u02ca\u0165\u0000\u0e64"+
55668 "\u0e70\u0005f\u0000\u0000\u0e65\u0e71\u0005\u00cb\u0000\u0000\u0e66\u0e67"+
55669 "\u00050\u0000\u0000\u0e67\u0e68\u0005\u00cf\u0000\u0000\u0e68\u0e6d\u0003"+
55670 "N\'\u0000\u0e69\u0e6a\u0005%\u0000\u0000\u0e6a\u0e6c\u0003N\'\u0000\u0e6b"+
55671 "\u0e69\u0001\u0000\u0000\u0000\u0e6c\u0e6f\u0001\u0000\u0000\u0000\u0e6d"+
55672 "\u0e6b\u0001\u0000\u0000\u0000\u0e6d\u0e6e\u0001\u0000\u0000\u0000\u0e6e"+
55673 "\u0e71\u0001\u0000\u0000\u0000\u0e6f\u0e6d\u0001\u0000\u0000\u0000\u0e70"+
55674 "\u0e65\u0001\u0000\u0000\u0000\u0e70\u0e66\u0001\u0000\u0000\u0000\u0e71"+
55675 "\u0e73\u0001\u0000\u0000\u0000\u0e72\u0e5f\u0001\u0000\u0000\u0000\u0e72"+
55676 "\u0e60\u0001\u0000\u0000\u0000\u0e73\u021b\u0001\u0000\u0000\u0000\u0e74"+
55677 "\u0e76\u00070\u0000\u0000\u0e75\u0e74\u0001\u0000\u0000\u0000\u0e75\u0e76"+
55678 "\u0001\u0000\u0000\u0000\u0e76\u0e78\u0001\u0000\u0000\u0000\u0e77\u0e79"+
55679 "\u00071\u0000\u0000\u0e78\u0e77\u0001\u0000\u0000\u0000\u0e78\u0e79\u0001"+
55680 "\u0000\u0000\u0000\u0e79\u0e7b\u0001\u0000\u0000\u0000\u0e7a\u0e7c\u0007"+
55681 "2\u0000\u0000\u0e7b\u0e7a\u0001\u0000\u0000\u0000\u0e7b\u0e7c\u0001\u0000"+
55682 "\u0000\u0000\u0e7c\u0e7e\u0001\u0000\u0000\u0000\u0e7d\u0e7f\u0005\u0208"+
55683 "\u0000\u0000\u0e7e\u0e7d\u0001\u0000\u0000\u0000\u0e7e\u0e7f\u0001\u0000"+
55684 "\u0000\u0000\u0e7f\u021d\u0001\u0000\u0000\u0000\u0e80\u0e81\u0005\u000f"+
55685 "\u0000\u0000\u0e81\u0e91\u0005\u0018\u0000\u0000\u0e82\u0e83\u0005\u0010"+
55686 "\u0000\u0000\u0e83\u0e91\u0005\u0018\u0000\u0000\u0e84\u0e85\u0005\u0011"+
55687 "\u0000\u0000\u0e85\u0e91\u0005\u0018\u0000\u0000\u0e86\u0e87\u0005\u0012"+
55688 "\u0000\u0000\u0e87\u0e91\u0005\u0018\u0000\u0000\u0e88\u0e89\u0005\r\u0000"+
55689 "\u0000\u0e89\u0e91\u0005\u0018\u0000\u0000\u0e8a\u0e8b\u0005\t\u0000\u0000"+
55690 "\u0e8b\u0e91\u0005\u0018\u0000\u0000\u0e8c\u0e8d\u0005\f\u0000\u0000\u0e8d"+
55691 "\u0e91\u0005\u0018\u0000\u0000\u0e8e\u0e8f\u0005\b\u0000\u0000\u0e8f\u0e91"+
55692 "\u0005\u0018\u0000\u0000\u0e90\u0e80\u0001\u0000\u0000\u0000\u0e90\u0e82"+
55693 "\u0001\u0000\u0000\u0000\u0e90\u0e84\u0001\u0000\u0000\u0000\u0e90\u0e86"+
55694 "\u0001\u0000\u0000\u0000\u0e90\u0e88\u0001\u0000\u0000\u0000\u0e90\u0e8a"+
55695 "\u0001\u0000\u0000\u0000\u0e90\u0e8c\u0001\u0000\u0000\u0000\u0e90\u0e8e"+
55696 "\u0001\u0000\u0000\u0000\u0e91\u021f\u0001\u0000\u0000\u0000\u0e92\u0ea6"+
55697 "\u0005\u001f\u0000\u0000\u0e93\u0e95\u0003\u00dam\u0000\u0e94\u0e96\u0005"+
55698 "`\u0000\u0000\u0e95\u0e94\u0001\u0000\u0000\u0000\u0e95\u0e96\u0001\u0000"+
55699 "\u0000\u0000\u0e96\u0e9a\u0001\u0000\u0000\u0000\u0e97\u0e98\u0003L&\u0000"+
55700 "\u0e98\u0e99\u0005\u0014\u0000\u0000\u0e99\u0e9b\u0001\u0000\u0000\u0000"+
55701 "\u0e9a\u0e97\u0001\u0000\u0000\u0000\u0e9a\u0e9b\u0001\u0000\u0000\u0000"+
55702 "\u0e9b\u0e9c\u0001\u0000\u0000\u0000\u0e9c\u0e9f\u0003\u009eO\u0000\u0e9d"+
55703 "\u0e9e\u0005\u0018\u0000\u0000\u0e9e\u0ea0\u0003\u00d4j\u0000\u0e9f\u0e9d"+
55704 "\u0001\u0000\u0000\u0000\u0e9f\u0ea0\u0001\u0000\u0000\u0000\u0ea0\u0ea2"+
55705 "\u0001\u0000\u0000\u0000\u0ea1\u0ea3\u0005\u00d3\u0000\u0000\u0ea2\u0ea1"+
55706 "\u0001\u0000\u0000\u0000\u0ea2\u0ea3\u0001\u0000\u0000\u0000\u0ea3\u0ea5"+
55707 "\u0001\u0000\u0000\u0000\u0ea4\u0e93\u0001\u0000\u0000\u0000\u0ea5\u0ea8"+
55708 "\u0001\u0000\u0000\u0000\u0ea6\u0ea4\u0001\u0000\u0000\u0000\u0ea6\u0ea7"+
55709 "\u0001\u0000\u0000\u0000\u0ea7\u0ea9\u0001\u0000\u0000\u0000\u0ea8\u0ea6"+
55710 "\u0001\u0000\u0000\u0000\u0ea9\u0eaa\u0005 \u0000\u0000\u0eaa\u0221\u0001"+
55711 "\u0000\u0000\u0000\u0eab\u0eaf\u0003\u0228\u0114\u0000\u0eac\u0eaf\u0003"+
55712 "\u0226\u0113\u0000\u0ead\u0eaf\u0003\u0224\u0112\u0000\u0eae\u0eab\u0001"+
55713 "\u0000\u0000\u0000\u0eae\u0eac\u0001\u0000\u0000\u0000\u0eae\u0ead\u0001"+
55714 "\u0000\u0000\u0000\u0eaf\u0223\u0001\u0000\u0000\u0000\u0eb0\u0eb1\u0005"+
55715 "\u00d0\u0000\u0000\u0eb1\u0eb2\u0003\u00dam\u0000\u0eb2\u0eb3\u0005;\u0000"+
55716 "\u0000\u0eb3\u0ebd\u0003\u0140\u00a0\u0000\u0eb4\u0eb5\u0005M\u0000\u0000"+
55717 "\u0eb5\u0eba\u0003\u022e\u0117\u0000\u0eb6\u0eb7\u0005%\u0000\u0000\u0eb7"+
55718 "\u0eb9\u0003\u022e\u0117\u0000\u0eb8\u0eb6\u0001\u0000\u0000\u0000\u0eb9"+
55719 "\u0ebc\u0001\u0000\u0000\u0000\u0eba\u0eb8\u0001\u0000\u0000\u0000\u0eba"+
55720 "\u0ebb\u0001\u0000\u0000\u0000\u0ebb\u0ebe\u0001\u0000\u0000\u0000\u0ebc"+
55721 "\u0eba\u0001\u0000\u0000\u0000\u0ebd\u0eb4\u0001\u0000\u0000\u0000\u0ebd"+
55722 "\u0ebe\u0001\u0000\u0000\u0000\u0ebe\u0ec0\u0001\u0000\u0000\u0000\u0ebf"+
55723 "\u0ec1\u0005`\u0000\u0000\u0ec0\u0ebf\u0001\u0000\u0000\u0000\u0ec0\u0ec1"+
55724 "\u0001\u0000\u0000\u0000\u0ec1\u0ec2\u0001\u0000\u0000\u0000\u0ec2\u0ec3"+
55725 "\u0005}\u0000\u0000\u0ec3\u0ec4\u0003\u022c\u0116\u0000\u0ec4\u0ec5\u0005"+
55726 "\u00d2\u0000\u0000\u0ec5\u0ec6\u0005\u0116\u0000\u0000\u0ec6\u0225\u0001"+
55727 "\u0000\u0000\u0000\u0ec7\u0ec8\u0005\u00d0\u0000\u0000\u0ec8\u0ed2\u0005"+
55728 ";\u0000\u0000\u0ec9\u0eca\u0005M\u0000\u0000\u0eca\u0ecf\u0003\u022e\u0117"+
55729 "\u0000\u0ecb\u0ecc\u0005%\u0000\u0000\u0ecc\u0ece\u0003\u022e\u0117\u0000"+
55730 "\u0ecd\u0ecb\u0001\u0000\u0000\u0000\u0ece\u0ed1\u0001\u0000\u0000\u0000"+
55731 "\u0ecf\u0ecd\u0001\u0000\u0000\u0000\u0ecf\u0ed0\u0001\u0000\u0000\u0000"+
55732 "\u0ed0\u0ed3\u0001\u0000\u0000\u0000\u0ed1\u0ecf\u0001\u0000\u0000\u0000"+
55733 "\u0ed2\u0ec9\u0001\u0000\u0000\u0000\u0ed2\u0ed3\u0001\u0000\u0000\u0000"+
55734 "\u0ed3\u0ed5\u0001\u0000\u0000\u0000\u0ed4\u0ed6\u0005`\u0000\u0000\u0ed5"+
55735 "\u0ed4\u0001\u0000\u0000\u0000\u0ed5\u0ed6\u0001\u0000\u0000\u0000\u0ed6"+
55736 "\u0ed7\u0001\u0000\u0000\u0000\u0ed7\u0ed9\u0005\u00d2\u0000\u0000\u0ed8"+
55737 "\u0eda\u0005\u001f\u0000\u0000\u0ed9\u0ed8\u0001\u0000\u0000\u0000\u0ed9"+
55738 "\u0eda\u0001\u0000\u0000\u0000\u0eda\u0edb\u0001\u0000\u0000\u0000\u0edb"+
55739 "\u0edd\u0003\u02ca\u0165\u0000\u0edc\u0ede\u0005 \u0000\u0000\u0edd\u0edc"+
55740 "\u0001\u0000\u0000\u0000\u0edd\u0ede\u0001\u0000\u0000\u0000\u0ede\u0227"+
55741 "\u0001\u0000\u0000\u0000\u0edf\u0ee0\u0005\u00d0\u0000\u0000\u0ee0\u0eea"+
55742 "\u0003\u009eO\u0000\u0ee1\u0ee2\u0005M\u0000\u0000\u0ee2\u0ee7\u0003\u022e"+
55743 "\u0117\u0000\u0ee3\u0ee4\u0005%\u0000\u0000\u0ee4\u0ee6\u0003\u022e\u0117"+
55744 "\u0000\u0ee5\u0ee3\u0001\u0000\u0000\u0000\u0ee6\u0ee9\u0001\u0000\u0000"+
55745 "\u0000\u0ee7\u0ee5\u0001\u0000\u0000\u0000\u0ee7\u0ee8\u0001\u0000\u0000"+
55746 "\u0000\u0ee8\u0eeb\u0001\u0000\u0000\u0000\u0ee9\u0ee7\u0001\u0000\u0000"+
55747 "\u0000\u0eea\u0ee1\u0001\u0000\u0000\u0000\u0eea\u0eeb\u0001\u0000\u0000"+
55748 "\u0000\u0eeb\u0eed\u0001\u0000\u0000\u0000\u0eec\u0eee\u0005`\u0000\u0000"+
55749 "\u0eed\u0eec\u0001\u0000\u0000\u0000\u0eed\u0eee\u0001\u0000\u0000\u0000"+
55750 "\u0eee\u0eef\u0001\u0000\u0000\u0000\u0eef\u0ef0\u0005}\u0000\u0000\u0ef0"+
55751 "\u0ef1\u0003\u022c\u0116\u0000\u0ef1\u0ef2\u0005\u00d2\u0000\u0000\u0ef2"+
55752 "\u0ef3\u0003b1\u0000\u0ef3\u0229\u0001\u0000\u0000\u0000\u0ef4\u0ef5\u0003"+
55753 "\u0144\u00a2\u0000\u0ef5\u0ef6\u0003\u014a\u00a5\u0000\u0ef6\u0ef9\u0001"+
55754 "\u0000\u0000\u0000\u0ef7\u0ef9\u0003\u017a\u00bd\u0000\u0ef8\u0ef4\u0001"+
55755 "\u0000\u0000\u0000\u0ef8\u0ef7\u0001\u0000\u0000\u0000\u0ef9\u0efd\u0001"+
55756 "\u0000\u0000\u0000\u0efa\u0efc\u0003\u017e\u00bf\u0000\u0efb\u0efa\u0001"+
55757 "\u0000\u0000\u0000\u0efc\u0eff\u0001\u0000\u0000\u0000\u0efd\u0efb\u0001"+
55758 "\u0000\u0000\u0000\u0efd\u0efe\u0001\u0000\u0000\u0000\u0efe\u022b\u0001"+
55759 "\u0000\u0000\u0000\u0eff\u0efd\u0001\u0000\u0000\u0000\u0f00\u0f02\u0003"+
55760 "\u0230\u0118\u0000\u0f01\u0f00\u0001\u0000\u0000\u0000\u0f02\u0f05\u0001"+
55761 "\u0000\u0000\u0000\u0f03\u0f01\u0001\u0000\u0000\u0000\u0f03\u0f04\u0001"+
55762 "\u0000\u0000\u0000\u0f04\u022d\u0001\u0000\u0000\u0000\u0f05\u0f03\u0001"+
55763 "\u0000\u0000\u0000\u0f06\u0f08\u0005\u016e\u0000\u0000\u0f07\u0f06\u0001"+
55764 "\u0000\u0000\u0000\u0f07\u0f08\u0001\u0000\u0000\u0000\u0f08\u0f20\u0001"+
55765 "\u0000\u0000\u0000\u0f09\u0f0b\u0005\u0209\u0000\u0000\u0f0a\u0f09\u0001"+
55766 "\u0000\u0000\u0000\u0f0a\u0f0b\u0001\u0000\u0000\u0000\u0f0b\u0f20\u0001"+
55767 "\u0000\u0000\u0000\u0f0c\u0f0d\u0005\u00d0\u0000\u0000\u0f0d\u0f0e\u0005"+
55768 "l\u0000\u0000\u0f0e\u0f0f\u0005a\u0000\u0000\u0f0f\u0f10\u0005l\u0000"+
55769 "\u0000\u0f10\u0f16\u0005\u020b\u0000\u0000\u0f11\u0f12\u0005\u020c\u0000"+
55770 "\u0000\u0f12\u0f13\u0005a\u0000\u0000\u0f13\u0f14\u0005l\u0000\u0000\u0f14"+
55771 "\u0f16\u0005\u020b\u0000\u0000\u0f15\u0f0c\u0001\u0000\u0000\u0000\u0f15"+
55772 "\u0f11\u0001\u0000\u0000\u0000\u0f15\u0f16\u0001\u0000\u0000\u0000\u0f16"+
55773 "\u0f20\u0001\u0000\u0000\u0000\u0f17\u0f19\u0003\u00dcn\u0000\u0f18\u0f17"+
55774 "\u0001\u0000\u0000\u0000\u0f18\u0f19\u0001\u0000\u0000\u0000\u0f19\u0f20"+
55775 "\u0001\u0000\u0000\u0000\u0f1a\u0f1b\u0005\u028b\u0000\u0000\u0f1b\u0f1c"+
55776 "\u0005\u0018\u0000\u0000\u0f1c\u0f1e\u0007\u0000\u0000\u0000\u0f1d\u0f1a"+
55777 "\u0001\u0000\u0000\u0000\u0f1d\u0f1e\u0001\u0000\u0000\u0000\u0f1e\u0f20"+
55778 "\u0001\u0000\u0000\u0000\u0f1f\u0f07\u0001\u0000\u0000\u0000\u0f1f\u0f0a"+
55779 "\u0001\u0000\u0000\u0000\u0f1f\u0f15\u0001\u0000\u0000\u0000\u0f1f\u0f18"+
55780 "\u0001\u0000\u0000\u0000\u0f1f\u0f1d\u0001\u0000\u0000\u0000\u0f20\u022f"+
55781 "\u0001\u0000\u0000\u0000\u0f21\u0f2c\u0003\u00f2y\u0000\u0f22\u0f2c\u0003"+
55782 "\u0108\u0084\u0000\u0f23\u0f2c\u0003\u011c\u008e\u0000\u0f24\u0f2c\u0003"+
55783 "\u0130\u0098\u0000\u0f25\u0f2c\u0003\u02aa\u0155\u0000\u0f26\u0f2c\u0003"+
55784 "\u02b8\u015c\u0000\u0f27\u0f2c\u0003\u02c2\u0161\u0000\u0f28\u0f2c\u0003"+
55785 "\u02ca\u0165\u0000\u0f29\u0f2c\u0003\u0216\u010b\u0000\u0f2a\u0f2c\u0003"+
55786 "\u0206\u0103\u0000\u0f2b\u0f21\u0001\u0000\u0000\u0000\u0f2b\u0f22\u0001"+
55787 "\u0000\u0000\u0000\u0f2b\u0f23\u0001\u0000\u0000\u0000\u0f2b\u0f24\u0001"+
55788 "\u0000\u0000\u0000\u0f2b\u0f25\u0001\u0000\u0000\u0000\u0f2b\u0f26\u0001"+
55789 "\u0000\u0000\u0000\u0f2b\u0f27\u0001\u0000\u0000\u0000\u0f2b\u0f28\u0001"+
55790 "\u0000\u0000\u0000\u0f2b\u0f29\u0001\u0000\u0000\u0000\u0f2b\u0f2a\u0001"+
55791 "\u0000\u0000\u0000\u0f2c\u0f2e\u0001\u0000\u0000\u0000\u0f2d\u0f2f\u0005"+
55792 "+\u0000\u0000\u0f2e\u0f2d\u0001\u0000\u0000\u0000\u0f2e\u0f2f\u0001\u0000"+
55793 "\u0000\u0000\u0f2f\u0231\u0001\u0000\u0000\u0000\u0f30\u0f35\u0003\u0234"+
55794 "\u011a\u0000\u0f31\u0f32\u0005%\u0000\u0000\u0f32\u0f34\u0003\u0234\u011a"+
55795 "\u0000\u0f33\u0f31\u0001\u0000\u0000\u0000\u0f34\u0f37\u0001\u0000\u0000"+
55796 "\u0000\u0f35\u0f33\u0001\u0000\u0000\u0000\u0f35\u0f36\u0001\u0000\u0000"+
55797 "\u0000\u0f36\u0f39\u0001\u0000\u0000\u0000\u0f37\u0f35\u0001\u0000\u0000"+
55798 "\u0000\u0f38\u0f30\u0001\u0000\u0000\u0000\u0f38\u0f39\u0001\u0000\u0000"+
55799 "\u0000\u0f39\u0233\u0001\u0000\u0000\u0000\u0f3a\u0f3c\u0003\u0208\u0104"+
55800 "\u0000\u0f3b\u0f3d\u0005\u020d\u0000\u0000\u0f3c\u0f3b\u0001\u0000\u0000"+
55801 "\u0000\u0f3c\u0f3d\u0001\u0000\u0000\u0000\u0f3d\u0f40\u0001\u0000\u0000"+
55802 "\u0000\u0f3e\u0f3f\u0005\u0018\u0000\u0000\u0f3f\u0f41\u0003\u001a\r\u0000"+
55803 "\u0f40\u0f3e\u0001\u0000\u0000\u0000\u0f40\u0f41\u0001\u0000\u0000\u0000"+
55804 "\u0f41\u0f43\u0001\u0000\u0000\u0000\u0f42\u0f44\u00073\u0000\u0000\u0f43"+
55805 "\u0f42\u0001\u0000\u0000\u0000\u0f43\u0f44\u0001\u0000\u0000\u0000\u0f44"+
55806 "\u0235\u0001\u0000\u0000\u0000\u0f45\u0f47\u0003\u0238\u011c\u0000\u0f46"+
55807 "\u0f45\u0001\u0000\u0000\u0000\u0f46\u0f47\u0001\u0000\u0000\u0000\u0f47"+
55808 "\u0f4a\u0001\u0000\u0000\u0000\u0f48\u0f49\u0005f\u0000\u0000\u0f49\u0f4b"+
55809 "\u0005\u0134\u0000\u0000\u0f4a\u0f48\u0001\u0000\u0000\u0000\u0f4a\u0f4b"+
55810 "\u0001\u0000\u0000\u0000\u0f4b\u0f4c\u0001\u0000\u0000\u0000\u0f4c\u0f4d"+
55811 "\u0005`\u0000\u0000\u0f4d\u0f4e\u0003\u023c\u011e\u0000\u0f4e\u0237\u0001"+
55812 "\u0000\u0000\u0000\u0f4f\u0f58\u0005M\u0000\u0000\u0f50\u0f55\u0003\u023a"+
55813 "\u011d\u0000\u0f51\u0f52\u0005%\u0000\u0000\u0f52\u0f54\u0003\u023a\u011d"+
55814 "\u0000\u0f53\u0f51\u0001\u0000\u0000\u0000\u0f54\u0f57\u0001\u0000\u0000"+
55815 "\u0000\u0f55\u0f53\u0001\u0000\u0000\u0000\u0f55\u0f56\u0001\u0000\u0000"+
55816 "\u0000\u0f56\u0f59\u0001\u0000\u0000\u0000\u0f57\u0f55\u0001\u0000\u0000"+
55817 "\u0000\u0f58\u0f50\u0001\u0000\u0000\u0000\u0f58\u0f59\u0001\u0000\u0000"+
55818 "\u0000\u0f59\u0239\u0001\u0000\u0000\u0000\u0f5a\u0f60\u0005\u016e\u0000"+
55819 "\u0000\u0f5b\u0f60\u0005\u01e9\u0000\u0000\u0f5c\u0f60\u0003\u00dcn\u0000"+
55820 "\u0f5d\u0f60\u0005\u0218\u0000\u0000\u0f5e\u0f60\u0005\u0209\u0000\u0000"+
55821 "\u0f5f\u0f5a\u0001\u0000\u0000\u0000\u0f5f\u0f5b\u0001\u0000\u0000\u0000"+
55822 "\u0f5f\u0f5c\u0001\u0000\u0000\u0000\u0f5f\u0f5d\u0001\u0000\u0000\u0000"+
55823 "\u0f5f\u0f5e\u0001\u0000\u0000\u0000\u0f60\u023b\u0001\u0000\u0000\u0000"+
55824 "\u0f61\u0f63\u0005}\u0000\u0000\u0f62\u0f61\u0001\u0000\u0000\u0000\u0f62"+
55825 "\u0f63\u0001\u0000\u0000\u0000\u0f63\u0f64\u0001\u0000\u0000\u0000\u0f64"+
55826 "\u0f66\u0003\u022c\u0116\u0000\u0f65\u0f67\u0005\u0116\u0000\u0000\u0f66"+
55827 "\u0f65\u0001\u0000\u0000\u0000\u0f66\u0f67\u0001\u0000\u0000\u0000\u0f67"+
55828 "\u0f85\u0001\u0000\u0000\u0000\u0f68\u0f69\u0005\u0161\u0000\u0000\u0f69"+
55829 "\u0f6d\u0005\u00aa\u0000\u0000\u0f6a\u0f6b\u0003L&\u0000\u0f6b\u0f6c\u0005"+
55830 "\u0014\u0000\u0000\u0f6c\u0f6e\u0001\u0000\u0000\u0000\u0f6d\u0f6a\u0001"+
55831 "\u0000\u0000\u0000\u0f6d\u0f6e\u0001\u0000\u0000\u0000\u0f6e\u0f72\u0001"+
55832 "\u0000\u0000\u0000\u0f6f\u0f70\u0003L&\u0000\u0f70\u0f71\u0005\u0014\u0000"+
55833 "\u0000\u0f71\u0f73\u0001\u0000\u0000\u0000\u0f72\u0f6f\u0001\u0000\u0000"+
55834 "\u0000\u0f72\u0f73\u0001\u0000\u0000\u0000\u0f73\u0f74\u0001\u0000\u0000"+
55835 "\u0000\u0f74\u0f85\u0003N\'\u0000\u0f75\u0f76\u0005}\u0000\u0000\u0f76"+
55836 "\u0f77\u0005\u0210\u0000\u0000\u0f77\u0f78\u0005M\u0000\u0000\u0f78\u0f7d"+
55837 "\u0003\u023e\u011f\u0000\u0f79\u0f7a\u0005%\u0000\u0000\u0f7a\u0f7c\u0003"+
55838 "\u023e\u011f\u0000\u0f7b\u0f79\u0001\u0000\u0000\u0000\u0f7c\u0f7f\u0001"+
55839 "\u0000\u0000\u0000\u0f7d\u0f7b\u0001\u0000\u0000\u0000\u0f7d\u0f7e\u0001"+
55840 "\u0000\u0000\u0000\u0f7e\u0f80\u0001\u0000\u0000\u0000\u0f7f\u0f7d\u0001"+
55841 "\u0000\u0000\u0000\u0f80\u0f82\u0003\u022c\u0116\u0000\u0f81\u0f83\u0005"+
55842 "\u0116\u0000\u0000\u0f82\u0f81\u0001\u0000\u0000\u0000\u0f82\u0f83\u0001"+
55843 "\u0000\u0000\u0000\u0f83\u0f85\u0001\u0000\u0000\u0000\u0f84\u0f62\u0001"+
55844 "\u0000\u0000\u0000\u0f84\u0f68\u0001\u0000\u0000\u0000\u0f84\u0f75\u0001"+
55845 "\u0000\u0000\u0000\u0f85\u023d\u0001\u0000\u0000\u0000\u0f86\u0f87\u0005"+
55846 "\u0211\u0000\u0000\u0f87\u0f88\u0005\u0018\u0000\u0000\u0f88\u0f9d\u0003"+
55847 "\u001c\u000e\u0000\u0f89\u0f8a\u0005\u0100\u0000\u0000\u0f8a\u0f8b\u0005"+
55848 "\u0213\u0000\u0000\u0f8b\u0f8c\u0005\u0212\u0000\u0000\u0f8c\u0f91\u0005"+
55849 "\u0018\u0000\u0000\u0f8d\u0f92\u0005\u0214\u0000\u0000\u0f8e\u0f8f\u0005"+
55850 "\u0215\u0000\u0000\u0f8f\u0f92\u0005\u0216\u0000\u0000\u0f90\u0f92\u0005"+
55851 "\u0217\u0000\u0000\u0f91\u0f8d\u0001\u0000\u0000\u0000\u0f91\u0f8e\u0001"+
55852 "\u0000\u0000\u0000\u0f91\u0f90\u0001\u0000\u0000\u0000\u0f92\u0f9d\u0001"+
55853 "\u0000\u0000\u0000\u0f93\u0f94\u0005\u0284\u0000\u0000\u0f94\u0f95\u0005"+
55854 "\u0018\u0000\u0000\u0f95\u0f9d\u0003\u001e\u000f\u0000\u0f96\u0f97\u0005"+
55855 "\u0291\u0000\u0000\u0f97\u0f98\u0005\u0018\u0000\u0000\u0f98\u0f9d\u0003"+
55856 "\u001c\u000e\u0000\u0f99\u0f9a\u0005\u0292\u0000\u0000\u0f9a\u0f9b\u0005"+
55857 "\u0018\u0000\u0000\u0f9b\u0f9d\u0007\u0000\u0000\u0000\u0f9c\u0f86\u0001"+
55858 "\u0000\u0000\u0000\u0f9c\u0f89\u0001\u0000\u0000\u0000\u0f9c\u0f93\u0001"+
55859 "\u0000\u0000\u0000\u0f9c\u0f96\u0001\u0000\u0000\u0000\u0f9c\u0f99\u0001"+
55860 "\u0000\u0000\u0000\u0f9d\u023f\u0001\u0000\u0000\u0000\u0f9e\u0f9f\u0005"+
55861 "M\u0000\u0000\u0f9f\u0fa4\u0003\u0242\u0121\u0000\u0fa0\u0fa1\u0005%\u0000"+
55862 "\u0000\u0fa1\u0fa3\u0003\u0242\u0121\u0000\u0fa2\u0fa0\u0001\u0000\u0000"+
55863 "\u0000\u0fa3\u0fa6\u0001\u0000\u0000\u0000\u0fa4\u0fa2\u0001\u0000\u0000"+
55864 "\u0000\u0fa4\u0fa5\u0001\u0000\u0000\u0000\u0fa5\u0fa8\u0001\u0000\u0000"+
55865 "\u0000\u0fa6\u0fa4\u0001\u0000\u0000\u0000\u0fa7\u0f9e\u0001\u0000\u0000"+
55866 "\u0000\u0fa7\u0fa8\u0001\u0000\u0000\u0000\u0fa8\u0fa9\u0001\u0000\u0000"+
55867 "\u0000\u0fa9\u0fab\u0005`\u0000\u0000\u0faa\u0fac\u0003\u0244\u0122\u0000"+
55868 "\u0fab\u0faa\u0001\u0000\u0000\u0000\u0fab\u0fac\u0001\u0000\u0000\u0000"+
55869 "\u0fac\u0fad\u0001\u0000\u0000\u0000\u0fad\u0fb1\u0003\u02ca\u0165\u0000"+
55870 "\u0fae\u0faf\u0005M\u0000\u0000\u0faf\u0fb0\u0005\u00f7\u0000\u0000\u0fb0"+
55871 "\u0fb2\u0005\u00fa\u0000\u0000\u0fb1\u0fae\u0001\u0000\u0000\u0000\u0fb1"+
55872 "\u0fb2\u0001\u0000\u0000\u0000\u0fb2\u0241\u0001\u0000\u0000\u0000\u0fb3"+
55873 "\u0fb4\u00074\u0000\u0000\u0fb4\u0243\u0001\u0000\u0000\u0000\u0fb5\u0fb6"+
55874 "\u0005M\u0000\u0000\u0fb6\u0fbb\u0003\u0246\u0123\u0000\u0fb7\u0fb8\u0005"+
55875 "%\u0000\u0000\u0fb8\u0fba\u0003\u0246\u0123\u0000\u0fb9\u0fb7\u0001\u0000"+
55876 "\u0000\u0000\u0fba\u0fbd\u0001\u0000\u0000\u0000\u0fbb\u0fb9\u0001\u0000"+
55877 "\u0000\u0000\u0fbb\u0fbc\u0001\u0000\u0000\u0000\u0fbc\u0245\u0001\u0000"+
55878 "\u0000\u0000\u0fbd\u0fbb\u0001\u0000\u0000\u0000\u0fbe\u0fca\u0003N\'"+
55879 "\u0000\u0fbf\u0fc0\u0005\u001f\u0000\u0000\u0fc0\u0fc5\u0003H$\u0000\u0fc1"+
55880 "\u0fc2\u0005%\u0000\u0000\u0fc2\u0fc4\u0003H$\u0000\u0fc3\u0fc1\u0001"+
55881 "\u0000\u0000\u0000\u0fc4\u0fc7\u0001\u0000\u0000\u0000\u0fc5\u0fc3\u0001"+
55882 "\u0000\u0000\u0000\u0fc5\u0fc6\u0001\u0000\u0000\u0000\u0fc6\u0fc8\u0001"+
55883 "\u0000\u0000\u0000\u0fc7\u0fc5\u0001\u0000\u0000\u0000\u0fc8\u0fc9\u0005"+
55884 " \u0000\u0000\u0fc9\u0fcb\u0001\u0000\u0000\u0000\u0fca\u0fbf\u0001\u0000"+
55885 "\u0000\u0000\u0fca\u0fcb\u0001\u0000\u0000\u0000\u0fcb\u0fcc\u0001\u0000"+
55886 "\u0000\u0000\u0fcc\u0fcd\u0005`\u0000\u0000\u0fcd\u0fce\u0005\u001f\u0000"+
55887 "\u0000\u0fce\u0fcf\u0003\u02ca\u0165\u0000\u0fcf\u0fd0\u0005 \u0000\u0000"+
55888 "\u0fd0\u0247\u0001\u0000\u0000\u0000\u0fd1\u0fd2\u0005M\u0000\u0000\u0fd2"+
55889 "\u0fd3\u0003\u024a\u0125\u0000\u0fd3\u0fd4\u0005%\u0000\u0000\u0fd4\u0fd5"+
55890 "\u0003\u024a\u0125\u0000\u0fd5\u0fd7\u0001\u0000\u0000\u0000\u0fd6\u0fd1"+
55891 "\u0001\u0000\u0000\u0000\u0fd6\u0fd7\u0001\u0000\u0000\u0000\u0fd7\u0fdc"+
55892 "\u0001\u0000\u0000\u0000\u0fd8\u0fdd\u0005f\u0000\u0000\u0fd9\u0fdd\u0005"+
55893 "\u021a\u0000\u0000\u0fda\u0fdb\u0005\u021b\u0000\u0000\u0fdb\u0fdd\u0005"+
55894 "\u00cf\u0000\u0000\u0fdc\u0fd8\u0001\u0000\u0000\u0000\u0fdc\u0fd9\u0001"+
55895 "\u0000\u0000\u0000\u0fdc\u0fda\u0001\u0000\u0000\u0000\u0fdd\u0fdf\u0001"+
55896 "\u0000\u0000\u0000\u0fde\u0fe0\u0005/\u0000\u0000\u0fdf\u0fde\u0001\u0000"+
55897 "\u0000\u0000\u0fdf\u0fe0\u0001\u0000\u0000\u0000\u0fe0\u0fe2\u0001\u0000"+
55898 "\u0000\u0000\u0fe1\u0fe3\u0005%\u0000\u0000\u0fe2\u0fe1\u0001\u0000\u0000"+
55899 "\u0000\u0fe2\u0fe3\u0001\u0000\u0000\u0000\u0fe3\u0fe5\u0001\u0000\u0000"+
55900 "\u0000\u0fe4\u0fe6\u00050\u0000\u0000\u0fe5\u0fe4\u0001\u0000\u0000\u0000"+
55901 "\u0fe5\u0fe6\u0001\u0000\u0000\u0000\u0fe6\u0fe8\u0001\u0000\u0000\u0000"+
55902 "\u0fe7\u0fe9\u0005%\u0000\u0000\u0fe8\u0fe7\u0001\u0000\u0000\u0000\u0fe8"+
55903 "\u0fe9\u0001\u0000\u0000\u0000\u0fe9\u0feb\u0001\u0000\u0000\u0000\u0fea"+
55904 "\u0fec\u00051\u0000\u0000\u0feb\u0fea\u0001\u0000\u0000\u0000\u0feb\u0fec"+
55905 "\u0001\u0000\u0000\u0000\u0fec\u0fee\u0001\u0000\u0000\u0000\u0fed\u0fef"+
55906 "\u0005%\u0000\u0000\u0fee\u0fed\u0001\u0000\u0000\u0000\u0fee\u0fef\u0001"+
55907 "\u0000\u0000\u0000\u0fef\u0ff2\u0001\u0000\u0000\u0000\u0ff0\u0ff1\u0005"+
55908 "M\u0000\u0000\u0ff1\u0ff3\u0005\u021c\u0000\u0000\u0ff2\u0ff0\u0001\u0000"+
55909 "\u0000\u0000\u0ff2\u0ff3\u0001\u0000\u0000\u0000\u0ff3\u0ff7\u0001\u0000"+
55910 "\u0000\u0000\u0ff4\u0ff5\u0005k\u0000\u0000\u0ff5\u0ff6\u0005f\u0000\u0000"+
55911 "\u0ff6\u0ff8\u0005\u0134\u0000\u0000\u0ff7\u0ff4\u0001\u0000\u0000\u0000"+
55912 "\u0ff7\u0ff8\u0001\u0000\u0000\u0000\u0ff8\u0ff9\u0001\u0000\u0000\u0000"+
55913 "\u0ff9\u0ffe\u0005`\u0000\u0000\u0ffa\u0fff\u0003\u022c\u0116\u0000\u0ffb"+
55914 "\u0ffc\u0005\u0161\u0000\u0000\u0ffc\u0ffd\u0005\u00aa\u0000\u0000\u0ffd"+
55915 "\u0fff\u0003\u024c\u0126\u0000\u0ffe\u0ffa\u0001\u0000\u0000\u0000\u0ffe"+
55916 "\u0ffb\u0001\u0000\u0000\u0000\u0fff\u0249\u0001\u0000\u0000\u0000\u1000"+
55917 "\u1006\u0005\u016e\u0000\u0000\u1001\u1006\u0003\u00dcn\u0000\u1002\u1006"+
55918 "\u0005\u0218\u0000\u0000\u1003\u1006\u0005\u0209\u0000\u0000\u1004\u1006"+
55919 "\u0001\u0000\u0000\u0000\u1005\u1000\u0001\u0000\u0000\u0000\u1005\u1001"+
55920 "\u0001\u0000\u0000\u0000\u1005\u1002\u0001\u0000\u0000\u0000\u1005\u1003"+
55921 "\u0001\u0000\u0000\u0000\u1005\u1004\u0001\u0000\u0000\u0000\u1006\u024b"+
55922 "\u0001\u0000\u0000\u0000\u1007\u1008\u0003N\'\u0000\u1008\u1009\u0005"+
55923 "\u0014\u0000\u0000\u1009\u100a\u0003N\'\u0000\u100a\u100b\u0005\u0014"+
55924 "\u0000\u0000\u100b\u100c\u0003N\'\u0000\u100c\u024d\u0001\u0000\u0000"+
55925 "\u0000\u100d\u1013\u0003@ \u0000\u100e\u1013\u0003:\u001d\u0000\u100f"+
55926 "\u1010\u0005r\u0000\u0000\u1010\u1013\u0005\u014d\u0000\u0000\u1011\u1013"+
55927 "\u0005\u00cc\u0000\u0000\u1012\u100d\u0001\u0000\u0000\u0000\u1012\u100e"+
55928 "\u0001\u0000\u0000\u0000\u1012\u100f\u0001\u0000\u0000\u0000\u1012\u1011"+
55929 "\u0001\u0000\u0000\u0000\u1013\u024f\u0001\u0000\u0000\u0000\u1014\u1015"+
55930 "\u0005`\u0000\u0000\u1015\u1031\u0003\u009eO\u0000\u1016\u1017\u00075"+
55931 "\u0000\u0000\u1017\u1018\u0005M\u0000\u0000\u1018\u1031\u0003b1\u0000"+
55932 "\u1019\u101a\u0005\u021d\u0000\u0000\u101a\u101b\u0005w\u0000\u0000\u101b"+
55933 "\u1031\u0003b1\u0000\u101c\u101e\u0005\u0220\u0000\u0000\u101d\u101f\u0003"+
55934 "b1\u0000\u101e\u101d\u0001\u0000\u0000\u0000\u101e\u101f\u0001\u0000\u0000"+
55935 "\u0000\u101f\u1031\u0001\u0000\u0000\u0000\u1020\u1021\u0005\u00f9\u0000"+
55936 "\u0000\u1021\u1031\u0005\u0220\u0000\u0000\u1022\u1024\u0005\u0221\u0000"+
55937 "\u0000\u1023\u1025\u0003b1\u0000\u1024\u1023\u0001\u0000\u0000\u0000\u1024"+
55938 "\u1025\u0001\u0000\u0000\u0000\u1025\u1031\u0001\u0000\u0000\u0000\u1026"+
55939 "\u1027\u0005\u00f9\u0000\u0000\u1027\u1031\u0005\u0221\u0000\u0000\u1028"+
55940 "\u1029\u0005\u021f\u0000\u0000\u1029\u1031\u0003b1\u0000\u102a\u102b\u0005"+
55941 "\u00f9\u0000\u0000\u102b\u1031\u0005\u021f\u0000\u0000\u102c\u102e\u0005"+
55942 "\u00f9\u0000\u0000\u102d\u102c\u0001\u0000\u0000\u0000\u102d\u102e\u0001"+
55943 "\u0000\u0000\u0000\u102e\u102f\u0001\u0000\u0000\u0000\u102f\u1031\u0005"+
55944 "\u021e\u0000\u0000\u1030\u1014\u0001\u0000\u0000\u0000\u1030\u1016\u0001"+
55945 "\u0000\u0000\u0000\u1030\u1019\u0001\u0000\u0000\u0000\u1030\u101c\u0001"+
55946 "\u0000\u0000\u0000\u1030\u1020\u0001\u0000\u0000\u0000\u1030\u1022\u0001"+
55947 "\u0000\u0000\u0000\u1030\u1026\u0001\u0000\u0000\u0000\u1030\u1028\u0001"+
55948 "\u0000\u0000\u0000\u1030\u102a\u0001\u0000\u0000\u0000\u1030\u102d\u0001"+
55949 "\u0000\u0000\u0000\u1031\u0251\u0001\u0000\u0000\u0000\u1032\u1033\u0005"+
55950 "\u0229\u0000\u0000\u1033\u1035\u0003R)\u0000\u1034\u1032\u0001\u0000\u0000"+
55951 "\u0000\u1034\u1035\u0001\u0000\u0000\u0000\u1035\u1038\u0001\u0000\u0000"+
55952 "\u0000\u1036\u1037\u0005_\u0000\u0000\u1037\u1039\u0003\u0254\u012a\u0000"+
55953 "\u1038\u1036\u0001\u0000\u0000\u0000\u1038\u1039\u0001\u0000\u0000\u0000"+
55954 "\u1039\u1046\u0001\u0000\u0000\u0000\u103a\u103b\u0005M\u0000\u0000\u103b"+
55955 "\u103c\u0005\u001f\u0000\u0000\u103c\u1041\u0003\u025a\u012d\u0000\u103d"+
55956 "\u103e\u0005%\u0000\u0000\u103e\u1040\u0003\u025a\u012d\u0000\u103f\u103d"+
55957 "\u0001\u0000\u0000\u0000\u1040\u1043\u0001\u0000\u0000\u0000\u1041\u103f"+
55958 "\u0001\u0000\u0000\u0000\u1041\u1042\u0001\u0000\u0000\u0000\u1042\u1044"+
55959 "\u0001\u0000\u0000\u0000\u1043\u1041\u0001\u0000\u0000\u0000\u1044\u1045"+
55960 "\u0005 \u0000\u0000\u1045\u1047\u0001\u0000\u0000\u0000\u1046\u103a\u0001"+
55961 "\u0000\u0000\u0000\u1046\u1047\u0001\u0000\u0000\u0000\u1047\u1051\u0001"+
55962 "\u0000\u0000\u0000\u1048\u104f\u0005a\u0000\u0000\u1049\u104a\u00034\u001a"+
55963 "\u0000\u104a\u104b\u0005\u001f\u0000\u0000\u104b\u104c\u0003H$\u0000\u104c"+
55964 "\u104d\u0005 \u0000\u0000\u104d\u1050\u0001\u0000\u0000\u0000\u104e\u1050"+
55965 "\u0003N\'\u0000\u104f\u1049\u0001\u0000\u0000\u0000\u104f\u104e\u0001"+
55966 "\u0000\u0000\u0000\u1050\u1052\u0001\u0000\u0000\u0000\u1051\u1048\u0001"+
55967 "\u0000\u0000\u0000\u1051\u1052\u0001\u0000\u0000\u0000\u1052\u1058\u0001"+
55968 "\u0000\u0000\u0000\u1053\u1056\u0005\u01ab\u0000\u0000\u1054\u1057\u0003"+
55969 "N\'\u0000\u1055\u1057\u0003\u001c\u000e\u0000\u1056\u1054\u0001\u0000"+
55970 "\u0000\u0000\u1056\u1055\u0001\u0000\u0000\u0000\u1057\u1059\u0001\u0000"+
55971 "\u0000\u0000\u1058\u1053\u0001\u0000\u0000\u0000\u1058\u1059\u0001\u0000"+
55972 "\u0000\u0000\u1059\u0253\u0001\u0000\u0000\u0000\u105a\u105f\u0003\u0256"+
55973 "\u012b\u0000\u105b\u105c\u0005h\u0000\u0000\u105c\u105e\u0003\u0256\u012b"+
55974 "\u0000\u105d\u105b\u0001\u0000\u0000\u0000\u105e\u1061\u0001\u0000\u0000"+
55975 "\u0000\u105f\u105d\u0001\u0000\u0000\u0000\u105f\u1060\u0001\u0000\u0000"+
55976 "\u0000\u1060\u0255\u0001\u0000\u0000\u0000\u1061\u105f\u0001\u0000\u0000"+
55977 "\u0000\u1062\u1063\u0003H$\u0000\u1063\u1064\u0005q\u0000\u0000\u1064"+
55978 "\u1065\u0005\u001f\u0000\u0000\u1065\u106a\u0003b1\u0000\u1066\u1067\u0005"+
55979 "%\u0000\u0000\u1067\u1069\u0003b1\u0000\u1068\u1066\u0001\u0000\u0000"+
55980 "\u0000\u1069\u106c\u0001\u0000\u0000\u0000\u106a\u1068\u0001\u0000\u0000"+
55981 "\u0000\u106a\u106b\u0001\u0000\u0000\u0000\u106b\u106d\u0001\u0000\u0000"+
55982 "\u0000\u106c\u106a\u0001\u0000\u0000\u0000\u106d\u106e\u0005 \u0000\u0000"+
55983 "\u106e\u1074\u0001\u0000\u0000\u0000\u106f\u1070\u0003H$\u0000\u1070\u1071"+
55984 "\u0003n7\u0000\u1071\u1072\u0003b1\u0000\u1072\u1074\u0001\u0000\u0000"+
55985 "\u0000\u1073\u1062\u0001\u0000\u0000\u0000\u1073\u106f\u0001\u0000\u0000"+
55986 "\u0000\u1074\u0257\u0001\u0000\u0000\u0000\u1075\u107c\u0005\u0132\u0000"+
55987 "\u0000\u1076\u1077\u0005\u00ee\u0000\u0000\u1077\u107a\u0005\u0018\u0000"+
55988 "\u0000\u1078\u107b\u0005r\u0000\u0000\u1079\u107b\u0003b1\u0000\u107a"+
55989 "\u1078\u0001\u0000\u0000\u0000\u107a\u1079\u0001\u0000\u0000\u0000\u107b"+
55990 "\u107d\u0001\u0000\u0000\u0000\u107c\u1076\u0001\u0000\u0000\u0000\u107c"+
55991 "\u107d\u0001\u0000\u0000\u0000\u107d\u108a\u0001\u0000\u0000\u0000\u107e"+
55992 "\u107f\u0005M\u0000\u0000\u107f\u1080\u0005\u001f\u0000\u0000\u1080\u1085"+
55993 "\u0003\u025a\u012d\u0000\u1081\u1082\u0005%\u0000\u0000\u1082\u1084\u0003"+
55994 "\u025a\u012d\u0000\u1083\u1081\u0001\u0000\u0000\u0000\u1084\u1087\u0001"+
55995 "\u0000\u0000\u0000\u1085\u1083\u0001\u0000\u0000\u0000\u1085\u1086\u0001"+
55996 "\u0000\u0000\u0000\u1086\u1088\u0001\u0000\u0000\u0000\u1087\u1085\u0001"+
55997 "\u0000\u0000\u0000\u1088\u1089\u0005 \u0000\u0000\u1089\u108b\u0001\u0000"+
55998 "\u0000\u0000\u108a\u107e\u0001\u0000\u0000\u0000\u108a\u108b\u0001\u0000"+
55999 "\u0000\u0000\u108b\u10b4\u0001\u0000\u0000\u0000\u108c\u10b4\u0005\u009d"+
56000 "\u0000\u0000\u108d\u1091\u0005\u0225\u0000\u0000\u108e\u108f\u0005\u00ee"+
56001 "\u0000\u0000\u108f\u1090\u0005\u0018\u0000\u0000\u1090\u1092\u0003b1\u0000"+
56002 "\u1091\u108e\u0001\u0000\u0000\u0000\u1091\u1092\u0001\u0000\u0000\u0000"+
56003 "\u1092\u1098\u0001\u0000\u0000\u0000\u1093\u1094\u0005M\u0000\u0000\u1094"+
56004 "\u1095\u0005\u001f\u0000\u0000\u1095\u1096\u0003\u025e\u012f\u0000\u1096"+
56005 "\u1097\u0005 \u0000\u0000\u1097\u1099\u0001\u0000\u0000\u0000\u1098\u1093"+
56006 "\u0001\u0000\u0000\u0000\u1098\u1099\u0001\u0000\u0000\u0000\u1099\u10b4"+
56007 "\u0001\u0000\u0000\u0000\u109a\u109b\u0005:\u0000\u0000\u109b\u109c\u0005"+
56008 "\u001f\u0000\u0000\u109c\u109d\u0003\u0260\u0130\u0000\u109d\u109e\u0005"+
56009 "%\u0000\u0000\u109e\u109f\u0003\u0260\u0130\u0000\u109f\u10a0\u0001\u0000"+
56010 "\u0000\u0000\u10a0\u10a1\u0005 \u0000\u0000\u10a1\u10b4\u0001\u0000\u0000"+
56011 "\u0000\u10a2\u10af\u0005\u0226\u0000\u0000\u10a3\u10a4\u0005M\u0000\u0000"+
56012 "\u10a4\u10a5\u0005\u001f\u0000\u0000\u10a5\u10aa\u0003\u0262\u0131\u0000"+
56013 "\u10a6\u10a7\u0005%\u0000\u0000\u10a7\u10a9\u0003\u0262\u0131\u0000\u10a8"+
56014 "\u10a6\u0001\u0000\u0000\u0000\u10a9\u10ac\u0001\u0000\u0000\u0000\u10aa"+
56015 "\u10a8\u0001\u0000\u0000\u0000\u10aa\u10ab\u0001\u0000\u0000\u0000\u10ab"+
56016 "\u10ad\u0001\u0000\u0000\u0000\u10ac\u10aa\u0001\u0000\u0000\u0000\u10ad"+
56017 "\u10ae\u0005 \u0000\u0000\u10ae\u10b0\u0001\u0000\u0000\u0000\u10af\u10a3"+
56018 "\u0001\u0000\u0000\u0000\u10af\u10b0\u0001\u0000\u0000\u0000\u10b0\u10b4"+
56019 "\u0001\u0000\u0000\u0000\u10b1\u10b4\u0005\u0227\u0000\u0000\u10b2\u10b4"+
56020 "\u0005\u0228\u0000\u0000\u10b3\u1075\u0001\u0000\u0000\u0000\u10b3\u108c"+
56021 "\u0001\u0000\u0000\u0000\u10b3\u108d\u0001\u0000\u0000\u0000\u10b3\u109a"+
56022 "\u0001\u0000\u0000\u0000\u10b3\u10a2\u0001\u0000\u0000\u0000\u10b3\u10b1"+
56023 "\u0001\u0000\u0000\u0000\u10b3\u10b2\u0001\u0000\u0000\u0000\u10b4\u0259"+
56024 "\u0001\u0000\u0000\u0000\u10b5\u10b6\u0005\u01a9\u0000\u0000\u10b6\u10b7"+
56025 "\u0005\u0018\u0000\u0000\u10b7\u10f9\u0007\u0000\u0000\u0000\u10b8\u10b9"+
56026 "\u0005\u0119\u0000\u0000\u10b9\u10ba\u0005\u0018\u0000\u0000\u10ba\u10f9"+
56027 "\u0003b1\u0000\u10bb\u10bc\u0005\u01a3\u0000\u0000\u10bc\u10bd\u0005\u0018"+
56028 "\u0000\u0000\u10bd\u10f9\u0007\u0000\u0000\u0000\u10be\u10bf\u0005\u01a4"+
56029 "\u0000\u0000\u10bf\u10c0\u0005\u0018\u0000\u0000\u10c0\u10f9\u0007\u0000"+
56030 "\u0000\u0000\u10c1\u10c2\u0005\u019f\u0000\u0000\u10c2\u10c3\u0005\u0018"+
56031 "\u0000\u0000\u10c3\u10f9\u0007\u0000\u0000\u0000\u10c4\u10c5\u0005\u019e"+
56032 "\u0000\u0000\u10c5\u10c6\u0005\u0018\u0000\u0000\u10c6\u10f9\u0007\u0000"+
56033 "\u0000\u0000\u10c7\u10c8\u0005\u01b5\u0000\u0000\u10c8\u10c9\u0005\u0018"+
56034 "\u0000\u0000\u10c9\u10f9\u0007\u0000\u0000\u0000\u10ca\u10cb\u0005\u0129"+
56035 "\u0000\u0000\u10cb\u10d1\u0005\u0018\u0000\u0000\u10cc\u10ce\u0005a\u0000"+
56036 "\u0000\u10cd\u10cf\u0003\u00d0h\u0000\u10ce\u10cd\u0001\u0000\u0000\u0000"+
56037 "\u10ce\u10cf\u0001\u0000\u0000\u0000\u10cf\u10d2\u0001\u0000\u0000\u0000"+
56038 "\u10d0\u10d2\u0005b\u0000\u0000\u10d1\u10cc\u0001\u0000\u0000\u0000\u10d1"+
56039 "\u10d0\u0001\u0000\u0000\u0000\u10d2\u10f9\u0001\u0000\u0000\u0000\u10d3"+
56040 "\u10d4\u0005\u0135\u0000\u0000\u10d4\u10d5\u0005\u0018\u0000\u0000\u10d5"+
56041 "\u10f9\u0007\u0000\u0000\u0000\u10d6\u10d7\u0005\u01a6\u0000\u0000\u10d7"+
56042 "\u10d8\u0005\u0018\u0000\u0000\u10d8\u10da\u0003b1\u0000\u10d9\u10db\u0005"+
56043 "\u010f\u0000\u0000\u10da\u10d9\u0001\u0000\u0000\u0000\u10da\u10db\u0001"+
56044 "\u0000\u0000\u0000\u10db\u10f9\u0001\u0000\u0000\u0000\u10dc\u10dd\u0005"+
56045 "\u018f\u0000\u0000\u10dd\u10de\u0005\u0018\u0000\u0000\u10de\u10f9\u0007"+
56046 "\u0000\u0000\u0000\u10df\u10e0\u0005\u018e\u0000\u0000\u10e0\u10e1\u0005"+
56047 "\u0018\u0000\u0000\u10e1\u10f9\u0007\u0000\u0000\u0000\u10e2\u10e3\u0005"+
56048 "\u01eb\u0000\u0000\u10e3\u10e4\u0005\u0018\u0000\u0000\u10e4\u10f9\u0007"+
56049 "\u0000\u0000\u0000\u10e5\u10e6\u0005\u0124\u0000\u0000\u10e6\u10e7\u0005"+
56050 "\u0018\u0000\u0000\u10e7\u10f9\u0003b1\u0000\u10e8\u10e9\u0005\u0197\u0000"+
56051 "\u0000\u10e9\u10ea\u0005\u0018\u0000\u0000\u10ea\u10f6\u0007\u0017\u0000"+
56052 "\u0000\u10eb\u10ec\u0005a\u0000\u0000\u10ec\u10ed\u0005\u00ef\u0000\u0000"+
56053 "\u10ed\u10ee\u0005\u001f\u0000\u0000\u10ee\u10f3\u0003\u025c\u012e\u0000"+
56054 "\u10ef\u10f0\u0005%\u0000\u0000\u10f0\u10f2\u0003\u025c\u012e\u0000\u10f1"+
56055 "\u10ef\u0001\u0000\u0000\u0000\u10f2\u10f5\u0001\u0000\u0000\u0000\u10f3"+
56056 "\u10f1\u0001\u0000\u0000\u0000\u10f3\u10f4\u0001\u0000\u0000\u0000";
56057 private static final String _serializedATNSegment2 =
56058 "\u10f4\u10f7\u0001\u0000\u0000\u0000\u10f5\u10f3\u0001\u0000\u0000\u0000"+
56059 "\u10f6\u10eb\u0001\u0000\u0000\u0000\u10f6\u10f7\u0001\u0000\u0000\u0000"+
56060 "\u10f7\u10f9\u0001\u0000\u0000\u0000\u10f8\u10b5\u0001\u0000\u0000\u0000"+
56061 "\u10f8\u10b8\u0001\u0000\u0000\u0000\u10f8\u10bb\u0001\u0000\u0000\u0000"+
56062 "\u10f8\u10be\u0001\u0000\u0000\u0000\u10f8\u10c1\u0001\u0000\u0000\u0000"+
56063 "\u10f8\u10c4\u0001\u0000\u0000\u0000\u10f8\u10c7\u0001\u0000\u0000\u0000"+
56064 "\u10f8\u10ca\u0001\u0000\u0000\u0000\u10f8\u10d3\u0001\u0000\u0000\u0000"+
56065 "\u10f8\u10d6\u0001\u0000\u0000\u0000\u10f8\u10dc\u0001\u0000\u0000\u0000"+
56066 "\u10f8\u10df\u0001\u0000\u0000\u0000\u10f8\u10e2\u0001\u0000\u0000\u0000"+
56067 "\u10f8\u10e5\u0001\u0000\u0000\u0000\u10f8\u10e8\u0001\u0000\u0000\u0000"+
56068 "\u10f9\u025b\u0001\u0000\u0000\u0000\u10fa\u10fd\u0003b1\u0000\u10fb\u10fc"+
56069 "\u0005g\u0000\u0000\u10fc\u10fe\u0003b1\u0000\u10fd\u10fb\u0001\u0000"+
56070 "\u0000\u0000\u10fd\u10fe\u0001\u0000\u0000\u0000\u10fe\u025d\u0001\u0000"+
56071 "\u0000\u0000\u10ff\u1100\u0005\u0223\u0000\u0000\u1100\u1101\u0005\u0018"+
56072 "\u0000\u0000\u1101\u1106\u0007\u0000\u0000\u0000\u1102\u1103\u0005\u0224"+
56073 "\u0000\u0000\u1103\u1104\u0005\u0018\u0000\u0000\u1104\u1106\u0007\u0000"+
56074 "\u0000\u0000\u1105\u10ff\u0001\u0000\u0000\u0000\u1105\u1102\u0001\u0000"+
56075 "\u0000\u0000\u1106\u025f\u0001\u0000\u0000\u0000\u1107\u1108\u0005\u018f"+
56076 "\u0000\u0000\u1108\u1109\u0005\u0018\u0000\u0000\u1109\u111d\u0007\u0000"+
56077 "\u0000\u0000\u110a\u110b\u0005\u018e\u0000\u0000\u110b\u110c\u0005\u0018"+
56078 "\u0000\u0000\u110c\u111d\u0007\u0000\u0000\u0000\u110d\u110e\u0005\u01eb"+
56079 "\u0000\u0000\u110e\u110f\u0005\u0018\u0000\u0000\u110f\u111d\u0007\u0000"+
56080 "\u0000\u0000\u1110\u1111\u0005\u01a4\u0000\u0000\u1111\u1112\u0005\u0018"+
56081 "\u0000\u0000\u1112\u111d\u0007\u0000\u0000\u0000\u1113\u1114\u0005\u019f"+
56082 "\u0000\u0000\u1114\u1115\u0005\u0018\u0000\u0000\u1115\u111d\u0007\u0000"+
56083 "\u0000\u0000\u1116\u1117\u0005\u0195\u0000\u0000\u1117\u1118\u0005\u0018"+
56084 "\u0000\u0000\u1118\u111a\u0003b1\u0000\u1119\u111b\u0005\u010f\u0000\u0000"+
56085 "\u111a\u1119\u0001\u0000\u0000\u0000\u111a\u111b\u0001\u0000\u0000\u0000"+
56086 "\u111b\u111d\u0001\u0000\u0000\u0000\u111c\u1107\u0001\u0000\u0000\u0000"+
56087 "\u111c\u110a\u0001\u0000\u0000\u0000\u111c\u110d\u0001\u0000\u0000\u0000"+
56088 "\u111c\u1110\u0001\u0000\u0000\u0000\u111c\u1113\u0001\u0000\u0000\u0000"+
56089 "\u111c\u1116\u0001\u0000\u0000\u0000\u111d\u0261\u0001\u0000\u0000\u0000"+
56090 "\u111e\u111f\u0005\u0124\u0000\u0000\u111f\u1120\u0005\u0018\u0000\u0000"+
56091 "\u1120\u1129\u0003b1\u0000\u1121\u1122\u0005\u01a6\u0000\u0000\u1122\u1123"+
56092 "\u0005\u0018\u0000\u0000\u1123\u1125\u0003b1\u0000\u1124\u1126\u0005\u010f"+
56093 "\u0000\u0000\u1125\u1124\u0001\u0000\u0000\u0000\u1125\u1126\u0001\u0000"+
56094 "\u0000\u0000\u1126\u1129\u0001\u0000\u0000\u0000\u1127\u1129\u0003\u00d0"+
56095 "h\u0000\u1128\u111e\u0001\u0000\u0000\u0000\u1128\u1121\u0001\u0000\u0000"+
56096 "\u0000\u1128\u1127\u0001\u0000\u0000\u0000\u1129\u0263\u0001\u0000\u0000"+
56097 "\u0000\u112a\u112b\u0005\u0232\u0000\u0000\u112b\u112c\u0005\u00aa\u0000"+
56098 "\u0000\u112c\u112d\u0005\u0018\u0000\u0000\u112d\u1161\u00032\u0019\u0000"+
56099 "\u112e\u112f\u0005\u0107\u0000\u0000\u112f\u1161\u0003\u00d4j\u0000\u1130"+
56100 "\u1161\u0003\u026e\u0137\u0000\u1131\u1132\u0005:\u0000\u0000\u1132\u1137"+
56101 "\u0003\u026c\u0136\u0000\u1133\u1134\u0005%\u0000\u0000\u1134\u1136\u0003"+
56102 "\u026c\u0136\u0000\u1135\u1133\u0001\u0000\u0000\u0000\u1136\u1139\u0001"+
56103 "\u0000\u0000\u0000\u1137\u1135\u0001\u0000\u0000\u0000\u1137\u1138\u0001"+
56104 "\u0000\u0000\u0000\u1138\u113c\u0001\u0000\u0000\u0000\u1139\u1137\u0001"+
56105 "\u0000\u0000\u0000\u113a\u113b\u0005M\u0000\u0000\u113b\u113d\u0003\u0294"+
56106 "\u014a\u0000\u113c\u113a\u0001\u0000\u0000\u0000\u113c\u113d\u0001\u0000"+
56107 "\u0000\u0000\u113d\u1161\u0001\u0000\u0000\u0000\u113e\u113f\u0005\u0232"+
56108 "\u0000\u0000\u113f\u1140\u0005\u001f\u0000\u0000\u1140\u1145\u0003\u0268"+
56109 "\u0134\u0000\u1141\u1142\u0005%\u0000\u0000\u1142\u1144\u0003\u0268\u0134"+
56110 "\u0000\u1143\u1141\u0001\u0000\u0000\u0000\u1144\u1147\u0001\u0000\u0000"+
56111 "\u0000\u1145\u1143\u0001\u0000\u0000\u0000\u1145\u1146\u0001\u0000\u0000"+
56112 "\u0000\u1146\u1148\u0001\u0000\u0000\u0000\u1147\u1145\u0001\u0000\u0000"+
56113 "\u0000\u1148\u1149\u0005 \u0000\u0000\u1149\u1161\u0001\u0000\u0000\u0000"+
56114 "\u114a\u114b\u0005\u0232\u0000\u0000\u114b\u114c\u0005\u0285\u0000\u0000"+
56115 "\u114c\u114d\u0005\u0018\u0000\u0000\u114d\u1161\u0005\u02ca\u0000\u0000"+
56116 "\u114e\u114f\u00059\u0000\u0000\u114f\u1150\u0005\u0287\u0000\u0000\u1150"+
56117 "\u1151\u0005a\u0000\u0000\u1151\u1152\u0005\u014d\u0000\u0000\u1152\u115c"+
56118 "\u0003\u00d4j\u0000\u1153\u1154\u0005M\u0000\u0000\u1154\u1159\u0003\u0266"+
56119 "\u0133\u0000\u1155\u1156\u0005%\u0000\u0000\u1156\u1158\u0003\u0266\u0133"+
56120 "\u0000\u1157\u1155\u0001\u0000\u0000\u0000\u1158\u115b\u0001\u0000\u0000"+
56121 "\u0000\u1159\u1157\u0001\u0000\u0000\u0000\u1159\u115a\u0001\u0000\u0000"+
56122 "\u0000\u115a\u115d\u0001\u0000\u0000\u0000\u115b\u1159\u0001\u0000\u0000"+
56123 "\u0000\u115c\u1153\u0001\u0000\u0000\u0000\u115c\u115d\u0001\u0000\u0000"+
56124 "\u0000\u115d\u1161\u0001\u0000\u0000\u0000\u115e\u1161\u0005\u0288\u0000"+
56125 "\u0000\u115f\u1161\u0005\u0286\u0000\u0000\u1160\u112a\u0001\u0000\u0000"+
56126 "\u0000\u1160\u112e\u0001\u0000\u0000\u0000\u1160\u1130\u0001\u0000\u0000"+
56127 "\u0000\u1160\u1131\u0001\u0000\u0000\u0000\u1160\u113e\u0001\u0000\u0000"+
56128 "\u0000\u1160\u114a\u0001\u0000\u0000\u0000\u1160\u114e\u0001\u0000\u0000"+
56129 "\u0000\u1160\u115e\u0001\u0000\u0000\u0000\u1160\u115f\u0001\u0000\u0000"+
56130 "\u0000\u1161\u0265\u0001\u0000\u0000\u0000\u1162\u1163\u0005\u0281\u0000"+
56131 "\u0000\u1163\u1164\u0005\u0018\u0000\u0000\u1164\u116f\u00076\u0000\u0000"+
56132 "\u1165\u1166\u0005\u027f\u0000\u0000\u1166\u116c\u0005\u0018\u0000\u0000"+
56133 "\u1167\u116d\u0003\u026a\u0135\u0000\u1168\u1169\u0005\u0280\u0000\u0000"+
56134 "\u1169\u116a\u0005\u0018\u0000\u0000\u116a\u116d\u00032\u0019\u0000\u116b"+
56135 "\u116d\u00077\u0000\u0000\u116c\u1167\u0001\u0000\u0000\u0000\u116c\u1168"+
56136 "\u0001\u0000\u0000\u0000\u116c\u116b\u0001\u0000\u0000\u0000\u116d\u116f"+
56137 "\u0001\u0000\u0000\u0000\u116e\u1162\u0001\u0000\u0000\u0000\u116e\u1165"+
56138 "\u0001\u0000\u0000\u0000\u116f\u0267\u0001\u0000\u0000\u0000\u1170\u1171"+
56139 "\u0005\u01f3\u0000\u0000\u1171\u1172\u0005\u0018\u0000\u0000\u1172\u1173"+
56140 "\u0005\u02cb\u0000\u0000\u1173\u117e\u00078\u0000\u0000\u1174\u1175\u0005"+
56141 "\u0272\u0000\u0000\u1175\u1176\u0005\u0018\u0000\u0000\u1176\u117e\u0005"+
56142 "\u02ca\u0000\u0000\u1177\u1178\u0005\u027f\u0000\u0000\u1178\u117b\u0005"+
56143 "\u0018\u0000\u0000\u1179\u117c\u0005\u02ca\u0000\u0000\u117a\u117c\u0003"+
56144 "\u026a\u0135\u0000\u117b\u1179\u0001\u0000\u0000\u0000\u117b\u117a\u0001"+
56145 "\u0000\u0000\u0000\u117c\u117e\u0001\u0000\u0000\u0000\u117d\u1170\u0001"+
56146 "\u0000\u0000\u0000\u117d\u1174\u0001\u0000\u0000\u0000\u117d\u1177\u0001"+
56147 "\u0000\u0000\u0000\u117e\u0269\u0001\u0000\u0000\u0000\u117f\u1188\u0005"+
56148 "\u02ca\u0000\u0000\u1180\u1181\u0005\u027e\u0000\u0000\u1181\u1182\u0005"+
56149 "\u001f\u0000\u0000\u1182\u1183\u0003\u00d4j\u0000\u1183\u1184\u0005\u0018"+
56150 "\u0000\u0000\u1184\u1185\u0005\u02ca\u0000\u0000\u1185\u1186\u0005 \u0000"+
56151 "\u0000\u1186\u1188\u0001\u0000\u0000\u0000\u1187\u117f\u0001\u0000\u0000"+
56152 "\u0000\u1187\u1180\u0001\u0000\u0000\u0000\u1188\u026b\u0001\u0000\u0000"+
56153 "\u0000\u1189\u11b5\u0003\u0276\u013b\u0000\u118a\u11b5\u0003\u0278\u013c"+
56154 "\u0000\u118b\u11b5\u0003\u027a\u013d\u0000\u118c\u11b5\u0003\u027c\u013e"+
56155 "\u0000\u118d\u118e\u0005\u01ef\u0000\u0000\u118e\u118f\u0005\u0018\u0000"+
56156 "\u0000\u118f\u11b5\u0007,\u0000\u0000\u1190\u11b5\u0003\u0280\u0140\u0000"+
56157 "\u1191\u1192\u0005\u027d\u0000\u0000\u1192\u11b5\u0007\u0000\u0000\u0000"+
56158 "\u1193\u1194\u0005\u016e\u0000\u0000\u1194\u11b5\u00079\u0000\u0000\u1195"+
56159 "\u11b5\u0007:\u0000\u0000\u1196\u11b5\u0007;\u0000\u0000\u1197\u11b5\u0007"+
56160 "<\u0000\u0000\u1198\u1199\u0005\u0292\u0000\u0000\u1199\u119a\u0005\u0018"+
56161 "\u0000\u0000\u119a\u11b5\u0007=\u0000\u0000\u119b\u11b5\u0003\u0282\u0141"+
56162 "\u0000\u119c\u119d\u0005\u0117\u0000\u0000\u119d\u119e\u0005\u001f\u0000"+
56163 "\u0000\u119e\u119f\u0003\u01fa\u00fd\u0000\u119f\u11a0\u0005 \u0000\u0000"+
56164 "\u11a0\u11b5\u0001\u0000\u0000\u0000\u11a1\u11a2\u00053\u0000\u0000\u11a2"+
56165 "\u11a3\u0005\u00cc\u0000\u0000\u11a3\u11a4\u0005:\u0000\u0000\u11a4\u11b5"+
56166 "\u0005\u0276\u0000\u0000\u11a5\u11a6\u0005\u0273\u0000\u0000\u11a6\u11b5"+
56167 "\u0007\u0000\u0000\u0000\u11a7\u11a8\u0005\u01e7\u0000\u0000\u11a8\u11b5"+
56168 "\u0007>\u0000\u0000\u11a9\u11b5\u0003\u0284\u0142\u0000\u11aa\u11b5\u0003"+
56169 "\u028a\u0145\u0000\u11ab\u11b5\u0003\u0290\u0148\u0000\u11ac\u11b5\u0003"+
56170 "\u028e\u0147\u0000\u11ad\u11b5\u0003\u028c\u0146\u0000\u11ae\u11b5\u0003"+
56171 "\u0292\u0149\u0000\u11af\u11b5\u0003\u0294\u014a\u0000\u11b0\u11b1\u0005"+
56172 "\u0271\u0000\u0000\u11b1\u11b5\u0007\u0000\u0000\u0000\u11b2\u11b3\u0005"+
56173 "\u0270\u0000\u0000\u11b3\u11b5\u0007\u0000\u0000\u0000\u11b4\u1189\u0001"+
56174 "\u0000\u0000\u0000\u11b4\u118a\u0001\u0000\u0000\u0000\u11b4\u118b\u0001"+
56175 "\u0000\u0000\u0000\u11b4\u118c\u0001\u0000\u0000\u0000\u11b4\u118d\u0001"+
56176 "\u0000\u0000\u0000\u11b4\u1190\u0001\u0000\u0000\u0000\u11b4\u1191\u0001"+
56177 "\u0000\u0000\u0000\u11b4\u1193\u0001\u0000\u0000\u0000\u11b4\u1195\u0001"+
56178 "\u0000\u0000\u0000\u11b4\u1196\u0001\u0000\u0000\u0000\u11b4\u1197\u0001"+
56179 "\u0000\u0000\u0000\u11b4\u1198\u0001\u0000\u0000\u0000\u11b4\u119b\u0001"+
56180 "\u0000\u0000\u0000\u11b4\u119c\u0001\u0000\u0000\u0000\u11b4\u11a1\u0001"+
56181 "\u0000\u0000\u0000\u11b4\u11a5\u0001\u0000\u0000\u0000\u11b4\u11a7\u0001"+
56182 "\u0000\u0000\u0000\u11b4\u11a9\u0001\u0000\u0000\u0000\u11b4\u11aa\u0001"+
56183 "\u0000\u0000\u0000\u11b4\u11ab\u0001\u0000\u0000\u0000\u11b4\u11ac\u0001"+
56184 "\u0000\u0000\u0000\u11b4\u11ad\u0001\u0000\u0000\u0000\u11b4\u11ae\u0001"+
56185 "\u0000\u0000\u0000\u11b4\u11af\u0001\u0000\u0000\u0000\u11b4\u11b0\u0001"+
56186 "\u0000\u0000\u0000\u11b4\u11b2\u0001\u0000\u0000\u0000\u11b5\u026d\u0001"+
56187 "\u0000\u0000\u0000\u11b6\u11bb\u0003\u0274\u013a\u0000\u11b7\u11bb\u0003"+
56188 "\u01fc\u00fe\u0000\u11b8\u11bb\u0003\u0270\u0138\u0000\u11b9\u11bb\u0003"+
56189 "\u0272\u0139\u0000\u11ba\u11b6\u0001\u0000\u0000\u0000\u11ba\u11b7\u0001"+
56190 "\u0000\u0000\u0000\u11ba\u11b8\u0001\u0000\u0000\u0000\u11ba\u11b9\u0001"+
56191 "\u0000\u0000\u0000\u11bb\u026f\u0001\u0000\u0000\u0000\u11bc\u11bd\u0005"+
56192 "9\u0000\u0000\u11bd\u11be\u0005\u01fc\u0000\u0000\u11be\u11c3\u0003\u00d4"+
56193 "j\u0000\u11bf\u11c0\u0005\u01fa\u0000\u0000\u11c0\u11c4\u0005\u0117\u0000"+
56194 "\u0000\u11c1\u11c2\u0005\u01fa\u0000\u0000\u11c2\u11c4\u0005\u01fb\u0000"+
56195 "\u0000\u11c3\u11bf\u0001\u0000\u0000\u0000\u11c3\u11c1\u0001\u0000\u0000"+
56196 "\u0000\u11c3\u11c4\u0001\u0000\u0000\u0000\u11c4\u11d3\u0001\u0000\u0000"+
56197 "\u0000\u11c5\u11c6\u0005\u022d\u0000\u0000\u11c6\u11c7\u0005\u01fc\u0000"+
56198 "\u0000\u11c7\u11d3\u0003\u00d4j\u0000\u11c8\u11c9\u0005\u0232\u0000\u0000"+
56199 "\u11c9\u11ca\u0005\u01fc\u0000\u0000\u11ca\u11cb\u0003\u00d4j\u0000\u11cb"+
56200 "\u11cc\u0003\u0272\u0139\u0000\u11cc\u11d3\u0001\u0000\u0000\u0000\u11cd"+
56201 "\u11d3\u0005\u009a\u0000\u0000\u11ce\u11cf\u0005\u00aa\u0000\u0000\u11cf"+
56202 "\u11d0\u0005\u0018\u0000\u0000\u11d0\u11d3\u0003\u00d4j\u0000\u11d1\u11d3"+
56203 "\u0007?\u0000\u0000\u11d2\u11bc\u0001\u0000\u0000\u0000\u11d2\u11c5\u0001"+
56204 "\u0000\u0000\u0000\u11d2\u11c8\u0001\u0000\u0000\u0000\u11d2\u11cd\u0001"+
56205 "\u0000\u0000\u0000\u11d2\u11ce\u0001\u0000\u0000\u0000\u11d2\u11d1\u0001"+
56206 "\u0000\u0000\u0000\u11d3\u0271\u0001\u0000\u0000\u0000\u11d4\u11d7\u0007"+
56207 "@\u0000\u0000\u11d5\u11d7\u0007;\u0000\u0000\u11d6\u11d4\u0001\u0000\u0000"+
56208 "\u0000\u11d6\u11d5\u0001\u0000\u0000\u0000\u11d7\u0273\u0001\u0000\u0000"+
56209 "\u0000\u11d8\u11d9\u00059\u0000\u0000\u11d9\u11da\u0005\u0172\u0000\u0000"+
56210 "\u11da\u11df\u0003\u01fc\u00fe\u0000\u11db\u11dc\u0005%\u0000\u0000\u11dc"+
56211 "\u11de\u0003\u01fc\u00fe\u0000\u11dd\u11db\u0001\u0000\u0000\u0000\u11de"+
56212 "\u11e1\u0001\u0000\u0000\u0000\u11df\u11dd\u0001\u0000\u0000\u0000\u11df"+
56213 "\u11e0\u0001\u0000\u0000\u0000\u11e0\u11e5\u0001\u0000\u0000\u0000\u11e1"+
56214 "\u11df\u0001\u0000\u0000\u0000\u11e2\u11e3\u0005g\u0000\u0000\u11e3\u11e4"+
56215 "\u0005\u01fc\u0000\u0000\u11e4\u11e6\u0003\u00d4j\u0000\u11e5\u11e2\u0001"+
56216 "\u0000\u0000\u0000\u11e5\u11e6\u0001\u0000\u0000\u0000\u11e6\u11f9\u0001"+
56217 "\u0000\u0000\u0000\u11e7\u11e8\u00059\u0000\u0000\u11e8\u11e9\u0005\u0186"+
56218 "\u0000\u0000\u11e9\u11ea\u0005\u0172\u0000\u0000\u11ea\u11ef\u0003\u01fc"+
56219 "\u00fe\u0000\u11eb\u11ec\u0005%\u0000\u0000\u11ec\u11ee\u0003\u01fc\u00fe"+
56220 "\u0000\u11ed\u11eb\u0001\u0000\u0000\u0000\u11ee\u11f1\u0001\u0000\u0000"+
56221 "\u0000\u11ef\u11ed\u0001\u0000\u0000\u0000\u11ef\u11f0\u0001\u0000\u0000"+
56222 "\u0000\u11f0\u11f9\u0001\u0000\u0000\u0000\u11f1\u11ef\u0001\u0000\u0000"+
56223 "\u0000\u11f2\u11f3\u0005\u022d\u0000\u0000\u11f3\u11f4\u0005\u0172\u0000"+
56224 "\u0000\u11f4\u11f9\u0005\u02ca\u0000\u0000\u11f5\u11f6\u0005\u0232\u0000"+
56225 "\u0000\u11f6\u11f7\u0005\u0172\u0000\u0000\u11f7\u11f9\u0003\u01fc\u00fe"+
56226 "\u0000\u11f8\u11d8\u0001\u0000\u0000\u0000\u11f8\u11e7\u0001\u0000\u0000"+
56227 "\u0000\u11f8\u11f2\u0001\u0000\u0000\u0000\u11f8\u11f5\u0001\u0000\u0000"+
56228 "\u0000\u11f9\u0275\u0001\u0000\u0000\u0000\u11fa\u11fb\u0005\u0233\u0000"+
56229 "\u0000\u11fb\u11fc\u0005\u0018\u0000\u0000\u11fc\u1203\u0007\u0000\u0000"+
56230 "\u0000\u11fd\u11fe\u0005\u001f\u0000\u0000\u11fe\u11ff\u0005\u0234\u0000"+
56231 "\u0000\u11ff\u1200\u0005\u0018\u0000\u0000\u1200\u1201\u0003\u00d4j\u0000"+
56232 "\u1201\u1202\u0005 \u0000\u0000\u1202\u1204\u0001\u0000\u0000\u0000\u1203"+
56233 "\u11fd\u0001\u0000\u0000\u0000\u1203\u1204\u0001\u0000\u0000\u0000\u1204"+
56234 "\u0277\u0001\u0000\u0000\u0000\u1205\u1206\u0005\u026f\u0000\u0000\u1206"+
56235 "\u121a\u0007\u0000\u0000\u0000\u1207\u1211\u0005\u026d\u0000\u0000\u1208"+
56236 "\u1212\u0005b\u0000\u0000\u1209\u120f\u0005a\u0000\u0000\u120a\u120b\u0005"+
56237 "\u001f\u0000\u0000\u120b\u120c\u0005\u026e\u0000\u0000\u120c\u120d\u0005"+
56238 "\u0018\u0000\u0000\u120d\u120e\u0007\u0000\u0000\u0000\u120e\u1210\u0005"+
56239 " \u0000\u0000\u120f\u120a\u0001\u0000\u0000\u0000\u120f\u1210\u0001\u0000"+
56240 "\u0000\u0000\u1210\u1212\u0001\u0000\u0000\u0000\u1211\u1208\u0001\u0000"+
56241 "\u0000\u0000\u1211\u1209\u0001\u0000\u0000\u0000\u1212\u121a\u0001\u0000"+
56242 "\u0000\u0000\u1213\u1214\u0005\u026c\u0000\u0000\u1214\u121a\u0007\u0000"+
56243 "\u0000\u0000\u1215\u1216\u0005\u026b\u0000\u0000\u1216\u121a\u0007\u0000"+
56244 "\u0000\u0000\u1217\u1218\u0005\u026a\u0000\u0000\u1218\u121a\u0007\u0000"+
56245 "\u0000\u0000\u1219\u1205\u0001\u0000\u0000\u0000\u1219\u1207\u0001\u0000"+
56246 "\u0000\u0000\u1219\u1213\u0001\u0000\u0000\u0000\u1219\u1215\u0001\u0000"+
56247 "\u0000\u0000\u1219\u1217\u0001\u0000\u0000\u0000\u121a\u0279\u0001\u0000"+
56248 "\u0000\u0000\u121b\u121c\u0005\u0268\u0000\u0000\u121c\u121d\u0005\u001f"+
56249 "\u0000\u0000\u121d\u121e\u0005\u0269\u0000\u0000\u121e\u121f\u0005\u0018"+
56250 "\u0000\u0000\u121f\u1220\u0007\u0000\u0000\u0000\u1220\u1221\u0005 \u0000"+
56251 "\u0000\u1221\u027b\u0001\u0000\u0000\u0000\u1222\u1236\u0005\u0267\u0000"+
56252 "\u0000\u1223\u1224\u0005\u0018\u0000\u0000\u1224\u1237\u0005b\u0000\u0000"+
56253 "\u1225\u1226\u0005\u0018\u0000\u0000\u1226\u1228\u0005a\u0000\u0000\u1227"+
56254 "\u1225\u0001\u0000\u0000\u0000\u1227\u1228\u0001\u0000\u0000\u0000\u1228"+
56255 "\u1234\u0001\u0000\u0000\u0000\u1229\u122a\u0005\u001f\u0000\u0000\u122a"+
56256 "\u122f\u0003\u027e\u013f\u0000\u122b\u122c\u0005%\u0000\u0000\u122c\u122e"+
56257 "\u0003\u027e\u013f\u0000\u122d\u122b\u0001\u0000\u0000\u0000\u122e\u1231"+
56258 "\u0001\u0000\u0000\u0000\u122f\u122d\u0001\u0000\u0000\u0000\u122f\u1230"+
56259 "\u0001\u0000\u0000\u0000\u1230\u1232\u0001\u0000\u0000\u0000\u1231\u122f"+
56260 "\u0001\u0000\u0000\u0000\u1232\u1233\u0005 \u0000\u0000\u1233\u1235\u0001"+
56261 "\u0000\u0000\u0000\u1234\u1229\u0001\u0000\u0000\u0000\u1234\u1235\u0001"+
56262 "\u0000\u0000\u0000\u1235\u1237\u0001\u0000\u0000\u0000\u1236\u1223\u0001"+
56263 "\u0000\u0000\u0000\u1236\u1227\u0001\u0000\u0000\u0000\u1237\u027d\u0001"+
56264 "\u0000\u0000\u0000\u1238\u1239\u0005\u0266\u0000\u0000\u1239\u123a\u0005"+
56265 "\u0018\u0000\u0000\u123a\u1240\u0007\u0000\u0000\u0000\u123b\u123c\u0005"+
56266 "\u0265\u0000\u0000\u123c\u123d\u0005\u0018\u0000\u0000\u123d\u123e\u0005"+
56267 "\u02cb\u0000\u0000\u123e\u1240\u0007A\u0000\u0000\u123f\u1238\u0001\u0000"+
56268 "\u0000\u0000\u123f\u123b\u0001\u0000\u0000\u0000\u1240\u027f\u0001\u0000"+
56269 "\u0000\u0000\u1241\u1242\u0005\u0263\u0000\u0000\u1242\u1246\u0007\u0000"+
56270 "\u0000\u0000\u1243\u1244\u0005\u0261\u0000\u0000\u1244\u1246\u0007B\u0000"+
56271 "\u0000\u1245\u1241\u0001\u0000\u0000\u0000\u1245\u1243\u0001\u0000\u0000"+
56272 "\u0000\u1246\u0281\u0001\u0000\u0000\u0000\u1247\u1248\u0005\u01fe\u0000"+
56273 "\u0000\u1248\u125b\u0007\u0000\u0000\u0000\u1249\u124a\u0005\u01ff\u0000"+
56274 "\u0000\u124a\u125b\u0007\u0000\u0000\u0000\u124b\u124c\u0005\u0289\u0000"+
56275 "\u0000\u124c\u124d\u0005\u0018\u0000\u0000\u124d\u125b\u0005\u02ca\u0000"+
56276 "\u0000\u124e\u124f\u0005\u028a\u0000\u0000\u124f\u1250\u0005\u0018\u0000"+
56277 "\u0000\u1250\u125b\u0005\u02ca\u0000\u0000\u1251\u1252\u0005\u028c\u0000"+
56278 "\u0000\u1252\u1253\u0005\u0018\u0000\u0000\u1253\u125b\u0007\u0000\u0000"+
56279 "\u0000\u1254\u1255\u0005\u028d\u0000\u0000\u1255\u1256\u0005\u0018\u0000"+
56280 "\u0000\u1256\u125b\u0007\u0000\u0000\u0000\u1257\u1258\u0005\u028e\u0000"+
56281 "\u0000\u1258\u1259\u0005\u0018\u0000\u0000\u1259\u125b\u0005\u02cb\u0000"+
56282 "\u0000\u125a\u1247\u0001\u0000\u0000\u0000\u125a\u1249\u0001\u0000\u0000"+
56283 "\u0000\u125a\u124b\u0001\u0000\u0000\u0000\u125a\u124e\u0001\u0000\u0000"+
56284 "\u0000\u125a\u1251\u0001\u0000\u0000\u0000\u125a\u1254\u0001\u0000\u0000"+
56285 "\u0000\u125a\u1257\u0001\u0000\u0000\u0000\u125b\u0283\u0001\u0000\u0000"+
56286 "\u0000\u125c\u1270\u0005\u0260\u0000\u0000\u125d\u125e\u0005\u0018\u0000"+
56287 "\u0000\u125e\u1271\u0005b\u0000\u0000\u125f\u1260\u0005\u0018\u0000\u0000"+
56288 "\u1260\u1262\u0005a\u0000\u0000\u1261\u125f\u0001\u0000\u0000\u0000\u1261"+
56289 "\u1262\u0001\u0000\u0000\u0000\u1262\u126e\u0001\u0000\u0000\u0000\u1263"+
56290 "\u1264\u0005\u001f\u0000\u0000\u1264\u1269\u0003\u0286\u0143\u0000\u1265"+
56291 "\u1266\u0005%\u0000\u0000\u1266\u1268\u0003\u0286\u0143\u0000\u1267\u1265"+
56292 "\u0001\u0000\u0000\u0000\u1268\u126b\u0001\u0000\u0000\u0000\u1269\u1267"+
56293 "\u0001\u0000\u0000\u0000\u1269\u126a\u0001\u0000\u0000\u0000\u126a\u126c"+
56294 "\u0001\u0000\u0000\u0000\u126b\u1269\u0001\u0000\u0000\u0000\u126c\u126d"+
56295 "\u0005 \u0000\u0000\u126d\u126f\u0001\u0000\u0000\u0000\u126e\u1263\u0001"+
56296 "\u0000\u0000\u0000\u126e\u126f\u0001\u0000\u0000\u0000\u126f\u1271\u0001"+
56297 "\u0000\u0000\u0000\u1270\u125d\u0001\u0000\u0000\u0000\u1270\u1261\u0001"+
56298 "\u0000\u0000\u0000\u1271\u0285\u0001\u0000\u0000\u0000\u1272\u1273\u0005"+
56299 "\u025f\u0000\u0000\u1273\u1274\u0005\u0018\u0000\u0000\u1274\u129f\u0007"+
56300 ";\u0000\u0000\u1275\u1276\u0005\u025c\u0000\u0000\u1276\u1277\u0005\u0018"+
56301 "\u0000\u0000\u1277\u1278\u0005\u001f\u0000\u0000\u1278\u1279\u0005\u025e"+
56302 "\u0000\u0000\u1279\u127a\u0005\u0018\u0000\u0000\u127a\u127b\u0005\u02cb"+
56303 "\u0000\u0000\u127b\u129f\u0005 \u0000\u0000\u127c\u127d\u0005\u025b\u0000"+
56304 "\u0000\u127d\u127e\u0005\u0018\u0000\u0000\u127e\u129f\u0005\u02cb\u0000"+
56305 "\u0000\u127f\u1280\u0005\u025a\u0000\u0000\u1280\u1281\u0005\u0018\u0000"+
56306 "\u0000\u1281\u129f\u0005\u02cb\u0000\u0000\u1282\u1283\u0005\u0259\u0000"+
56307 "\u0000\u1283\u1284\u0005\u0018\u0000\u0000\u1284\u129f\u0005\u02cb\u0000"+
56308 "\u0000\u1285\u1286\u0005\u0258\u0000\u0000\u1286\u1287\u0005\u0018\u0000"+
56309 "\u0000\u1287\u129f\u0007C\u0000\u0000\u1288\u1289\u0005\u0257\u0000\u0000"+
56310 "\u1289\u128a\u0005\u0018\u0000\u0000\u128a\u129f\u0007D\u0000\u0000\u128b"+
56311 "\u128c\u0005\u0256\u0000\u0000\u128c\u128d\u0005\u0018\u0000\u0000\u128d"+
56312 "\u129f\u0005\u02cb\u0000\u0000\u128e\u128f\u0005\u0255\u0000\u0000\u128f"+
56313 "\u1290\u0005\u0018\u0000\u0000\u1290\u129f\u0007\u0000\u0000\u0000\u1291"+
56314 "\u1292\u0005\u0254\u0000\u0000\u1292\u1293\u0005\u0018\u0000\u0000\u1293"+
56315 "\u1294\u0005\u001f\u0000\u0000\u1294\u1299\u0003\u0288\u0144\u0000\u1295"+
56316 "\u1296\u0005%\u0000\u0000\u1296\u1298\u0003\u0288\u0144\u0000\u1297\u1295"+
56317 "\u0001\u0000\u0000\u0000\u1298\u129b\u0001\u0000\u0000\u0000\u1299\u1297"+
56318 "\u0001\u0000\u0000\u0000\u1299\u129a\u0001\u0000\u0000\u0000\u129a\u129c"+
56319 "\u0001\u0000\u0000\u0000\u129b\u1299\u0001\u0000\u0000\u0000\u129c\u129d"+
56320 "\u0005 \u0000\u0000\u129d\u129f\u0001\u0000\u0000\u0000\u129e\u1272\u0001"+
56321 "\u0000\u0000\u0000\u129e\u1275\u0001\u0000\u0000\u0000\u129e\u127c\u0001"+
56322 "\u0000\u0000\u0000\u129e\u127f\u0001\u0000\u0000\u0000\u129e\u1282\u0001"+
56323 "\u0000\u0000\u0000\u129e\u1285\u0001\u0000\u0000\u0000\u129e\u1288\u0001"+
56324 "\u0000\u0000\u0000\u129e\u128b\u0001\u0000\u0000\u0000\u129e\u128e\u0001"+
56325 "\u0000\u0000\u0000\u129e\u1291\u0001\u0000\u0000\u0000\u129f\u0287\u0001"+
56326 "\u0000\u0000\u0000\u12a0\u12a1\u0005\u0252\u0000\u0000\u12a1\u12a2\u0005"+
56327 "\u0018\u0000\u0000\u12a2\u12a3\u0005\u02cb\u0000\u0000\u12a3\u12ae\u0007"+
56328 "E\u0000\u0000\u12a4\u12a5\u0005\u0253\u0000\u0000\u12a5\u12a6\u0005\u0018"+
56329 "\u0000\u0000\u12a6\u12ae\u0005\u02cb\u0000\u0000\u12a7\u12a8\u0005\u0251"+
56330 "\u0000\u0000\u12a8\u12a9\u0005\u0018\u0000\u0000\u12a9\u12ae\u0005\u02cb"+
56331 "\u0000\u0000\u12aa\u12ab\u0005\u0250\u0000\u0000\u12ab\u12ac\u0005\u0018"+
56332 "\u0000\u0000\u12ac\u12ae\u0005\u02cb\u0000\u0000\u12ad\u12a0\u0001\u0000"+
56333 "\u0000\u0000\u12ad\u12a4\u0001\u0000\u0000\u0000\u12ad\u12a7\u0001\u0000"+
56334 "\u0000\u0000\u12ad\u12aa\u0001\u0000\u0000\u0000\u12ae\u0289\u0001\u0000"+
56335 "\u0000\u0000\u12af\u12b0\u0005\u024f\u0000\u0000\u12b0\u12b6\u0007F\u0000"+
56336 "\u0000\u12b1\u12b2\u0005\u024d\u0000\u0000\u12b2\u12b6\u0007\u0000\u0000"+
56337 "\u0000\u12b3\u12b4\u0005\u024b\u0000\u0000\u12b4\u12b6\u0007G\u0000\u0000"+
56338 "\u12b5\u12af\u0001\u0000\u0000\u0000\u12b5\u12b1\u0001\u0000\u0000\u0000"+
56339 "\u12b5\u12b3\u0001\u0000\u0000\u0000\u12b6\u028b\u0001\u0000\u0000\u0000"+
56340 "\u12b7\u12b8\u0005\u024a\u0000\u0000\u12b8\u12cd\u0007\u0000\u0000\u0000"+
56341 "\u12b9\u12ba\u0005\u0249\u0000\u0000\u12ba\u12cd\u0007\u0000\u0000\u0000"+
56342 "\u12bb\u12bc\u0005\u0248\u0000\u0000\u12bc\u12cd\u0007\u0000\u0000\u0000"+
56343 "\u12bd\u12be\u0005\u0247\u0000\u0000\u12be\u12cd\u0007\u0000\u0000\u0000"+
56344 "\u12bf\u12c0\u0005\u0246\u0000\u0000\u12c0\u12cd\u0007\u0000\u0000\u0000"+
56345 "\u12c1\u12c2\u0005\u0245\u0000\u0000\u12c2\u12c3\u0005\u0018\u0000\u0000"+
56346 "\u12c3\u12cd\u0005\u02cb\u0000\u0000\u12c4\u12c5\u0005\u0244\u0000\u0000"+
56347 "\u12c5\u12cd\u0007\u0000\u0000\u0000\u12c6\u12c7\u0005\u0243\u0000\u0000"+
56348 "\u12c7\u12cd\u0007\u0000\u0000\u0000\u12c8\u12c9\u0005\u0242\u0000\u0000"+
56349 "\u12c9\u12cd\u0007\u0000\u0000\u0000\u12ca\u12cb\u0005\u0241\u0000\u0000"+
56350 "\u12cb\u12cd\u0007\u0000\u0000\u0000\u12cc\u12b7\u0001\u0000\u0000\u0000"+
56351 "\u12cc\u12b9\u0001\u0000\u0000\u0000\u12cc\u12bb\u0001\u0000\u0000\u0000"+
56352 "\u12cc\u12bd\u0001\u0000\u0000\u0000\u12cc\u12bf\u0001\u0000\u0000\u0000"+
56353 "\u12cc\u12c1\u0001\u0000\u0000\u0000\u12cc\u12c4\u0001\u0000\u0000\u0000"+
56354 "\u12cc\u12c6\u0001\u0000\u0000\u0000\u12cc\u12c8\u0001\u0000\u0000\u0000"+
56355 "\u12cc\u12ca\u0001\u0000\u0000\u0000\u12cd\u028d\u0001\u0000\u0000\u0000"+
56356 "\u12ce\u12cf\u0005\u0240\u0000\u0000\u12cf\u12d6\u0007\u0000\u0000\u0000"+
56357 "\u12d0\u12d1\u0005\u023f\u0000\u0000\u12d1\u12d6\u0007\u0000\u0000\u0000"+
56358 "\u12d2\u12d3\u0005\u023e\u0000\u0000\u12d3\u12d4\u0005\u0018\u0000\u0000"+
56359 "\u12d4\u12d6\u0007\u0000\u0000\u0000\u12d5\u12ce\u0001\u0000\u0000\u0000"+
56360 "\u12d5\u12d0\u0001\u0000\u0000\u0000\u12d5\u12d2\u0001\u0000\u0000\u0000"+
56361 "\u12d6\u028f\u0001\u0000\u0000\u0000\u12d7\u12de\u0005\u023d\u0000\u0000"+
56362 "\u12d8\u12de\u0005\u023c\u0000\u0000\u12d9\u12de\u0005\u023b\u0000\u0000"+
56363 "\u12da\u12de\u0005\u023a\u0000\u0000\u12db\u12dc\u0005\u0239\u0000\u0000"+
56364 "\u12dc\u12de\u0007\u0000\u0000\u0000\u12dd\u12d7\u0001\u0000\u0000\u0000"+
56365 "\u12dd\u12d8\u0001\u0000\u0000\u0000\u12dd\u12d9\u0001\u0000\u0000\u0000"+
56366 "\u12dd\u12da\u0001\u0000\u0000\u0000\u12dd\u12db\u0001\u0000\u0000\u0000"+
56367 "\u12de\u0291\u0001\u0000\u0000\u0000\u12df\u12e0\u0005\u0237\u0000\u0000"+
56368 "\u12e0\u12e1\u0005\u0018\u0000\u0000\u12e1\u12e2\u0005\u02cb\u0000\u0000"+
56369 "\u12e2\u12e3\u0007H\u0000\u0000\u12e3\u0293\u0001\u0000\u0000\u0000\u12e4"+
56370 "\u12e5\u0005\u007f\u0000\u0000\u12e5\u12e6\u0005\u021a\u0000\u0000\u12e6"+
56371 "\u12e8\u0005\u02cb\u0000\u0000\u12e7\u12e9\u0005\u0238\u0000\u0000\u12e8"+
56372 "\u12e7\u0001\u0000\u0000\u0000\u12e8\u12e9\u0001\u0000\u0000\u0000\u12e9"+
56373 "\u12ee\u0001\u0000\u0000\u0000\u12ea\u12eb\u0005\u007f\u0000\u0000\u12eb"+
56374 "\u12ee\u0005\u0235\u0000\u0000\u12ec\u12ee\u0005\u0236\u0000\u0000\u12ed"+
56375 "\u12e4\u0001\u0000\u0000\u0000\u12ed\u12ea\u0001\u0000\u0000\u0000\u12ed"+
56376 "\u12ec\u0001\u0000\u0000\u0000\u12ee\u0295\u0001\u0000\u0000\u0000\u12ef"+
56377 "\u12f0\u0005\u001f\u0000\u0000\u12f0\u12f5\u0003D\"\u0000\u12f1\u12f2"+
56378 "\u0005%\u0000\u0000\u12f2\u12f4\u0003D\"\u0000\u12f3\u12f1\u0001\u0000"+
56379 "\u0000\u0000\u12f4\u12f7\u0001\u0000\u0000\u0000\u12f5\u12f3\u0001\u0000"+
56380 "\u0000\u0000\u12f5\u12f6\u0001\u0000\u0000\u0000\u12f6\u12f8\u0001\u0000"+
56381 "\u0000\u0000\u12f7\u12f5\u0001\u0000\u0000\u0000\u12f8\u12f9\u0005 \u0000"+
56382 "\u0000\u12f9\u0297\u0001\u0000\u0000\u0000\u12fa\u12fb\u0005\u001f\u0000"+
56383 "\u0000\u12fb\u1300\u0003\u029a\u014d\u0000\u12fc\u12fd\u0005%\u0000\u0000"+
56384 "\u12fd\u12ff\u0003\u029a\u014d\u0000\u12fe\u12fc\u0001\u0000\u0000\u0000"+
56385 "\u12ff\u1302\u0001\u0000\u0000\u0000\u1300\u12fe\u0001\u0000\u0000\u0000"+
56386 "\u1300\u1301\u0001\u0000\u0000\u0000\u1301\u1303\u0001\u0000\u0000\u0000"+
56387 "\u1302\u1300\u0001\u0000\u0000\u0000\u1303\u1304\u0005 \u0000\u0000\u1304"+
56388 "\u0299\u0001\u0000\u0000\u0000\u1305\u1306\u00059\u0000\u0000\u1306\u1307"+
56389 "\u0005\u016d\u0000\u0000\u1307\u130c\u0003D\"\u0000\u1308\u1309\u0005"+
56390 "4\u0000\u0000\u1309\u130a\u0005\u016d\u0000\u0000\u130a\u130c\u0003D\""+
56391 "\u0000\u130b\u1305\u0001\u0000\u0000\u0000\u130b\u1308\u0001\u0000\u0000"+
56392 "\u0000\u130c\u029b\u0001\u0000\u0000\u0000\u130d\u1315\u00034\u001a\u0000"+
56393 "\u130e\u130f\u0005\u0293\u0000\u0000\u130f\u1315\u0003\u00d4j\u0000\u1310"+
56394 "\u1311\u00034\u001a\u0000\u1311\u1312\u0005\u0293\u0000\u0000\u1312\u1313"+
56395 "\u0003\u00d4j\u0000\u1313\u1315\u0001\u0000\u0000\u0000\u1314\u130d\u0001"+
56396 "\u0000\u0000\u0000\u1314\u130e\u0001\u0000\u0000\u0000\u1314\u1310\u0001"+
56397 "\u0000\u0000\u0000\u1315\u029d\u0001\u0000\u0000\u0000\u1316\u131c\u0003"+
56398 "\u00f2y\u0000\u1317\u131c\u0003\u00fe\u007f\u0000\u1318\u131c\u0003\u031a"+
56399 "\u018d\u0000\u1319\u131c\u0003\u032c\u0196\u0000\u131a\u131c\u0003\u0332"+
56400 "\u0199\u0000\u131b\u1316\u0001\u0000\u0000\u0000\u131b\u1317\u0001\u0000"+
56401 "\u0000\u0000\u131b\u1318\u0001\u0000\u0000\u0000\u131b\u1319\u0001\u0000"+
56402 "\u0000\u0000\u131b\u131a\u0001\u0000\u0000\u0000\u131c\u029f\u0001\u0000"+
56403 "\u0000\u0000\u131d\u1320\u0003\u02a2\u0151\u0000\u131e\u1320\u0003\u02a4"+
56404 "\u0152\u0000\u131f\u131d\u0001\u0000\u0000\u0000\u131f\u131e\u0001\u0000"+
56405 "\u0000\u0000\u1320\u02a1\u0001\u0000\u0000\u0000\u1321\u1322\u00052\u0000"+
56406 "\u0000\u1322\u1323\u0005;\u0000\u0000\u1323\u1325\u0003@ \u0000\u1324"+
56407 "\u1326\u0003P(\u0000\u1325\u1324\u0001\u0000\u0000\u0000\u1325\u1326\u0001"+
56408 "\u0000\u0000\u0000\u1326\u1327\u0001\u0000\u0000\u0000\u1327\u1328\u0003"+
56409 "\u02a6\u0153\u0000\u1328\u1329\u0005`\u0000\u0000\u1329\u132a\u0003\u02ca"+
56410 "\u0165\u0000\u132a\u132b\u0003\u02a8\u0154\u0000\u132b\u02a3\u0001\u0000"+
56411 "\u0000\u0000\u132c\u132d\u00052\u0000\u0000\u132d\u132e\u0005\u0179\u0000"+
56412 "\u0000\u132e\u132f\u0005;\u0000\u0000\u132f\u1330\u0003@ \u0000\u1330"+
56413 "\u1331\u0005\u00d4\u0000\u0000\u1331\u1332\u0005\u001f\u0000\u0000\u1332"+
56414 "\u1333\u0003\u001c\u000e\u0000\u1333\u133a\u0005 \u0000\u0000\u1334\u1335"+
56415 "\u0005M\u0000\u0000\u1335\u1336\u0005\u001f\u0000\u0000\u1336\u1337\u0005"+
56416 "\u0297\u0000\u0000\u1337\u1338\u0005\u0018\u0000\u0000\u1338\u1339\u0005"+
56417 "\u02cc\u0000\u0000\u1339\u133b\u0005 \u0000\u0000\u133a\u1334\u0001\u0000"+
56418 "\u0000\u0000\u133a\u133b\u0001\u0000\u0000\u0000\u133b\u133c\u0001\u0000"+
56419 "\u0000\u0000\u133c\u133d\u0005`\u0000\u0000\u133d\u133e\u0003\u02ca\u0165"+
56420 "\u0000\u133e\u02a5\u0001\u0000\u0000\u0000\u133f\u1340\u0005M\u0000\u0000"+
56421 "\u1340\u1341\u0005\u001f\u0000\u0000\u1341\u134b\u0003\u01a6\u00d3\u0000"+
56422 "\u1342\u1343\u0005%\u0000\u0000\u1343\u1348\u0003\u019a\u00cd\u0000\u1344"+
56423 "\u1345\u0005%\u0000\u0000\u1345\u1347\u0003\u019a\u00cd\u0000\u1346\u1344"+
56424 "\u0001\u0000\u0000\u0000\u1347\u134a\u0001\u0000\u0000\u0000\u1348\u1346"+
56425 "\u0001\u0000\u0000\u0000\u1348\u1349\u0001\u0000\u0000\u0000\u1349\u134c"+
56426 "\u0001\u0000\u0000\u0000\u134a\u1348\u0001\u0000\u0000\u0000\u134b\u1342"+
56427 "\u0001\u0000\u0000\u0000\u134b\u134c\u0001\u0000\u0000\u0000\u134c\u134d"+
56428 "\u0001\u0000\u0000\u0000\u134d\u134e\u0005 \u0000\u0000\u134e\u02a7\u0001"+
56429 "\u0000\u0000\u0000\u134f\u1350\u0005\u00fa\u0000\u0000\u1350\u1351\u0005"+
56430 "\u001f\u0000\u0000\u1351\u1356\u0003\u0302\u0181\u0000\u1352\u1353\u0005"+
56431 "%\u0000\u0000\u1353\u1355\u0003\u0302\u0181\u0000\u1354\u1352\u0001\u0000"+
56432 "\u0000\u0000\u1355\u1358\u0001\u0000\u0000\u0000\u1356\u1354\u0001\u0000"+
56433 "\u0000\u0000\u1356\u1357\u0001\u0000\u0000\u0000\u1357\u1359\u0001\u0000"+
56434 "\u0000\u0000\u1358\u1356\u0001\u0000\u0000\u0000\u1359\u135a\u0005 \u0000"+
56435 "\u0000\u135a\u135c\u0001\u0000\u0000\u0000\u135b\u134f\u0001\u0000\u0000"+
56436 "\u0000\u135b\u135c\u0001\u0000\u0000\u0000\u135c\u02a9\u0001\u0000\u0000"+
56437 "\u0000\u135d\u135f\u0003\u02f2\u0179\u0000\u135e\u135d\u0001\u0000\u0000"+
56438 "\u0000\u135e\u135f\u0001\u0000\u0000\u0000\u135f\u1360\u0001\u0000\u0000"+
56439 "\u0000\u1360\u1362\u0005/\u0000\u0000\u1361\u1363\u0003\u02d6\u016b\u0000"+
56440 "\u1362\u1361\u0001\u0000\u0000\u0000\u1362\u1363\u0001\u0000\u0000\u0000"+
56441 "\u1363\u1365\u0001\u0000\u0000\u0000\u1364\u1366\u0005K\u0000\u0000\u1365"+
56442 "\u1364\u0001\u0000\u0000\u0000\u1365\u1366\u0001\u0000\u0000\u0000\u1366"+
56443 "\u1367\u0001\u0000\u0000\u0000\u1367\u136c\u0003@ \u0000\u1368\u136a\u0005"+
56444 "`\u0000\u0000\u1369\u1368\u0001\u0000\u0000\u0000\u1369\u136a\u0001\u0000"+
56445 "\u0000\u0000\u136a\u136b\u0001\u0000\u0000\u0000\u136b\u136d\u0003\\."+
56446 "\u0000\u136c\u1369\u0001\u0000\u0000\u0000\u136c\u136d\u0001\u0000\u0000"+
56447 "\u0000\u136d\u136f\u0001\u0000\u0000\u0000\u136e\u1370\u0003\u02b4\u015a"+
56448 "\u0000\u136f\u136e\u0001\u0000\u0000\u0000\u136f\u1370\u0001\u0000\u0000"+
56449 "\u0000\u1370\u1375\u0001\u0000\u0000\u0000\u1371\u1376\u0003\u02ac\u0156"+
56450 "\u0000\u1372\u1376\u0003\u02ae\u0157\u0000\u1373\u1376\u0003\u02b0\u0158"+
56451 "\u0000\u1374\u1376\u0003\u02b2\u0159\u0000\u1375\u1371\u0001\u0000\u0000"+
56452 "\u0000\u1375\u1372\u0001\u0000\u0000\u0000\u1375\u1373\u0001\u0000\u0000"+
56453 "\u0000\u1375\u1374\u0001\u0000\u0000\u0000\u1376\u02ab\u0001\u0000\u0000"+
56454 "\u0000\u1377\u1379\u0003P(\u0000\u1378\u1377\u0001\u0000\u0000\u0000\u1378"+
56455 "\u1379\u0001\u0000\u0000\u0000\u1379\u137b\u0001\u0000\u0000\u0000\u137a"+
56456 "\u137c\u0003\u02f8\u017c\u0000\u137b\u137a\u0001\u0000\u0000\u0000\u137b"+
56457 "\u137c\u0001\u0000\u0000\u0000\u137c\u137d\u0001\u0000\u0000\u0000\u137d"+
56458 "\u137e\u0005\u009a\u0000\u0000\u137e\u137f\u0005L\u0000\u0000\u137f\u02ad"+
56459 "\u0001\u0000\u0000\u0000\u1380\u1382\u0003P(\u0000\u1381\u1380\u0001\u0000"+
56460 "\u0000\u0000\u1381\u1382\u0001\u0000\u0000\u0000\u1382\u1384\u0001\u0000"+
56461 "\u0000\u0000\u1383\u1385\u0003\u02f8\u017c\u0000\u1384\u1383\u0001\u0000"+
56462 "\u0000\u0000\u1384\u1385\u0001\u0000\u0000\u0000\u1385\u1386\u0001\u0000"+
56463 "\u0000\u0000\u1386\u1387\u0005L\u0000\u0000\u1387\u138c\u0003\u02be\u015f"+
56464 "\u0000\u1388\u1389\u0005%\u0000\u0000\u1389\u138b\u0003\u02be\u015f\u0000"+
56465 "\u138a\u1388\u0001\u0000\u0000\u0000\u138b\u138e\u0001\u0000\u0000\u0000"+
56466 "\u138c\u138a\u0001\u0000\u0000\u0000\u138c\u138d\u0001\u0000\u0000\u0000"+
56467 "\u138d\u02af\u0001\u0000\u0000\u0000\u138e\u138c\u0001\u0000\u0000\u0000"+
56468 "\u138f\u1391\u0003P(\u0000\u1390\u138f\u0001\u0000\u0000\u0000\u1390\u1391"+
56469 "\u0001\u0000\u0000\u0000\u1391\u1393\u0001\u0000\u0000\u0000\u1392\u1394"+
56470 "\u0003\u02f8\u017c\u0000\u1393\u1392\u0001\u0000\u0000\u0000\u1393\u1394"+
56471 "\u0001\u0000\u0000\u0000\u1394\u1395\u0001\u0000\u0000\u0000\u1395\u1396"+
56472 "\u0003\u02ca\u0165\u0000\u1396\u02b1\u0001\u0000\u0000\u0000\u1397\u1399"+
56473 "\u0003P(\u0000\u1398\u1397\u0001\u0000\u0000\u0000\u1398\u1399\u0001\u0000"+
56474 "\u0000\u0000\u1399\u139a\u0001\u0000\u0000\u0000\u139a\u139b\u0003\u02b6"+
56475 "\u015b\u0000\u139b\u02b3\u0001\u0000\u0000\u0000\u139c\u139d\u0005M\u0000"+
56476 "\u0000\u139d\u139f\u0005\u001f\u0000\u0000\u139e\u13a0\u0003\u00eau\u0000"+
56477 "\u139f\u139e\u0001\u0000\u0000\u0000\u13a0\u13a1\u0001\u0000\u0000\u0000"+
56478 "\u13a1\u139f\u0001\u0000\u0000\u0000\u13a1\u13a2\u0001\u0000\u0000\u0000"+
56479 "\u13a2\u13a3\u0001\u0000\u0000\u0000\u13a3\u13a4\u0005 \u0000\u0000\u13a4"+
56480 "\u02b5\u0001\u0000\u0000\u0000\u13a5\u13a6\u0007\u001a\u0000\u0000\u13a6"+
56481 "\u13af\u00038\u001c\u0000\u13a7\u13ac\u0003b1\u0000\u13a8\u13a9\u0005"+
56482 "%\u0000\u0000\u13a9\u13ab\u0003b1\u0000\u13aa\u13a8\u0001\u0000\u0000"+
56483 "\u0000\u13ab\u13ae\u0001\u0000\u0000\u0000\u13ac\u13aa\u0001\u0000\u0000"+
56484 "\u0000\u13ac\u13ad\u0001\u0000\u0000\u0000\u13ad\u13b0\u0001\u0000\u0000"+
56485 "\u0000\u13ae\u13ac\u0001\u0000\u0000\u0000\u13af\u13a7\u0001\u0000\u0000"+
56486 "\u0000\u13af\u13b0\u0001\u0000\u0000\u0000\u13b0\u02b7\u0001\u0000\u0000"+
56487 "\u0000\u13b1\u13b3\u0003\u02f2\u0179\u0000\u13b2\u13b1\u0001\u0000\u0000"+
56488 "\u0000\u13b2\u13b3\u0001\u0000\u0000\u0000\u13b3\u13b4\u0001\u0000\u0000"+
56489 "\u0000\u13b4\u13b6\u00050\u0000\u0000\u13b5\u13b7\u0003\u02d6\u016b\u0000"+
56490 "\u13b6\u13b5\u0001\u0000\u0000\u0000\u13b6\u13b7\u0001\u0000\u0000\u0000"+
56491 "\u13b7\u13b8\u0001\u0000\u0000\u0000\u13b8\u13b9\u0003\u02e0\u0170\u0000"+
56492 "\u13b9\u13bb\u0003\u02bc\u015e\u0000\u13ba\u13bc\u0003\u02ea\u0175\u0000"+
56493 "\u13bb\u13ba\u0001\u0000\u0000\u0000\u13bb\u13bc\u0001\u0000\u0000\u0000"+
56494 "\u13bc\u13bf\u0001\u0000\u0000\u0000\u13bd\u13be\u0005\u00fa\u0000\u0000"+
56495 "\u13be\u13c0\u0003\u0302\u0181\u0000\u13bf\u13bd\u0001\u0000\u0000\u0000"+
56496 "\u13bf\u13c0\u0001\u0000\u0000\u0000\u13c0\u02b9\u0001\u0000\u0000\u0000"+
56497 "\u13c1\u13c2\u0003H$\u0000\u13c2\u13c3\u0005\u0018\u0000\u0000\u13c3\u13c4"+
56498 "\u0003\u02c0\u0160\u0000\u13c4\u02bb\u0001\u0000\u0000\u0000\u13c5\u13c6"+
56499 "\u0005:\u0000\u0000\u13c6\u13cb\u0003\u02ba\u015d\u0000\u13c7\u13c8\u0005"+
56500 "%\u0000\u0000\u13c8\u13ca\u0003\u02ba\u015d\u0000\u13c9\u13c7\u0001\u0000"+
56501 "\u0000\u0000\u13ca\u13cd\u0001\u0000\u0000\u0000\u13cb\u13c9\u0001\u0000"+
56502 "\u0000\u0000\u13cb\u13cc\u0001\u0000\u0000\u0000\u13cc\u13cf\u0001\u0000"+
56503 "\u0000\u0000\u13cd\u13cb\u0001\u0000\u0000\u0000\u13ce\u13d0\u0003\u02de"+
56504 "\u016f\u0000\u13cf\u13ce\u0001\u0000\u0000\u0000\u13cf\u13d0\u0001\u0000"+
56505 "\u0000\u0000\u13d0\u02bd\u0001\u0000\u0000\u0000\u13d1\u13d2\u0005\u001f"+
56506 "\u0000\u0000\u13d2\u13d7\u0003\u02c0\u0160\u0000\u13d3\u13d4\u0005%\u0000"+
56507 "\u0000\u13d4\u13d6\u0003\u02c0\u0160\u0000\u13d5\u13d3\u0001\u0000\u0000"+
56508 "\u0000\u13d6\u13d9\u0001\u0000\u0000\u0000\u13d7\u13d5\u0001\u0000\u0000"+
56509 "\u0000\u13d7\u13d8\u0001\u0000\u0000\u0000\u13d8\u13da\u0001\u0000\u0000"+
56510 "\u0000\u13d9\u13d7\u0001\u0000\u0000\u0000\u13da\u13db\u0005 \u0000\u0000"+
56511 "\u13db\u13df\u0001\u0000\u0000\u0000\u13dc\u13dd\u0005\u001f\u0000\u0000"+
56512 "\u13dd\u13df\u0005 \u0000\u0000\u13de\u13d1\u0001\u0000\u0000\u0000\u13de"+
56513 "\u13dc\u0001\u0000\u0000\u0000\u13df\u02bf\u0001\u0000\u0000\u0000\u13e0"+
56514 "\u13e3\u0003b1\u0000\u13e1\u13e3\u0005\u009a\u0000\u0000\u13e2\u13e0\u0001"+
56515 "\u0000\u0000\u0000\u13e2\u13e1\u0001\u0000\u0000\u0000\u13e3\u02c1\u0001"+
56516 "\u0000\u0000\u0000\u13e4\u13e6\u0003\u02f2\u0179\u0000\u13e5\u13e4\u0001"+
56517 "\u0000\u0000\u0000\u13e5\u13e6\u0001\u0000\u0000\u0000\u13e6\u13e7\u0001"+
56518 "\u0000\u0000\u0000\u13e7\u13e9\u00051\u0000\u0000\u13e8\u13ea\u0003\u02d6"+
56519 "\u016b\u0000\u13e9\u13e8\u0001\u0000\u0000\u0000\u13e9\u13ea\u0001\u0000"+
56520 "\u0000\u0000\u13ea\u13ed\u0001\u0000\u0000\u0000\u13eb\u13ee\u0003\u02c4"+
56521 "\u0162\u0000\u13ec\u13ee\u0003\u02c6\u0163\u0000\u13ed\u13eb\u0001\u0000"+
56522 "\u0000\u0000\u13ed\u13ec\u0001\u0000\u0000\u0000\u13ee\u13f0\u0001\u0000"+
56523 "\u0000\u0000\u13ef\u13f1\u0003\u02f8\u017c\u0000\u13f0\u13ef\u0001\u0000"+
56524 "\u0000\u0000\u13f0\u13f1\u0001\u0000\u0000\u0000\u13f1\u13f3\u0001\u0000"+
56525 "\u0000\u0000\u13f2\u13f4\u0003\u02ea\u0175\u0000\u13f3\u13f2\u0001\u0000"+
56526 "\u0000\u0000\u13f3\u13f4\u0001\u0000\u0000\u0000\u13f4\u13f7\u0001\u0000"+
56527 "\u0000\u0000\u13f5\u13f6\u0005\u00fa\u0000\u0000\u13f6\u13f8\u0003\u0302"+
56528 "\u0181\u0000\u13f7\u13f5\u0001\u0000\u0000\u0000\u13f7\u13f8\u0001\u0000"+
56529 "\u0000\u0000\u13f8\u02c3\u0001\u0000\u0000\u0000\u13f9\u13fb\u0005U\u0000"+
56530 "\u0000\u13fa\u13f9\u0001\u0000\u0000\u0000\u13fa\u13fb\u0001\u0000\u0000"+
56531 "\u0000\u13fb\u13fd\u0001\u0000\u0000\u0000\u13fc\u13fe\u0005\u001f\u0000"+
56532 "\u0000\u13fd\u13fc\u0001\u0000\u0000\u0000\u13fd\u13fe\u0001\u0000\u0000"+
56533 "\u0000\u13fe\u13ff\u0001\u0000\u0000\u0000\u13ff\u1401\u0003@ \u0000\u1400"+
56534 "\u1402\u0005 \u0000\u0000\u1401\u1400\u0001\u0000\u0000\u0000\u1401\u1402"+
56535 "\u0001\u0000\u0000\u0000\u1402\u1407\u0001\u0000\u0000\u0000\u1403\u1405"+
56536 "\u0005`\u0000\u0000\u1404\u1403\u0001\u0000\u0000\u0000\u1404\u1405\u0001"+
56537 "\u0000\u0000\u0000\u1405\u1406\u0001\u0000\u0000\u0000\u1406\u1408\u0003"+
56538 "\\.\u0000\u1407\u1404\u0001\u0000\u0000\u0000\u1407\u1408\u0001\u0000"+
56539 "\u0000\u0000\u1408\u02c5\u0001\u0000\u0000\u0000\u1409\u140a\u0003\u02c8"+
56540 "\u0164\u0000\u140a\u140b\u0005U\u0000\u0000\u140b\u140c\u0003\u02e0\u0170"+
56541 "\u0000\u140c\u1413\u0001\u0000\u0000\u0000\u140d\u140e\u0005U\u0000\u0000"+
56542 "\u140e\u140f\u0003\u02c8\u0164\u0000\u140f\u1410\u0005^\u0000\u0000\u1410"+
56543 "\u1411\u0003\u02e0\u0170\u0000\u1411\u1413\u0001\u0000\u0000\u0000\u1412"+
56544 "\u1409\u0001\u0000\u0000\u0000\u1412\u140d\u0001\u0000\u0000\u0000\u1413"+
56545 "\u02c7\u0001\u0000\u0000\u0000\u1414\u1416\u0003@ \u0000\u1415\u1417\u0005"+
56546 "\u0015\u0000\u0000\u1416\u1415\u0001\u0000\u0000\u0000\u1416\u1417\u0001"+
56547 "\u0000\u0000\u0000\u1417\u141f\u0001\u0000\u0000\u0000\u1418\u1419\u0005"+
56548 "%\u0000\u0000\u1419\u141b\u0003@ \u0000\u141a\u141c\u0005\u0015\u0000"+
56549 "\u0000\u141b\u141a\u0001\u0000\u0000\u0000\u141b\u141c\u0001\u0000\u0000"+
56550 "\u0000\u141c\u141e\u0001\u0000\u0000\u0000\u141d\u1418\u0001\u0000\u0000"+
56551 "\u0000\u141e\u1421\u0001\u0000\u0000\u0000\u141f\u141d\u0001\u0000\u0000"+
56552 "\u0000\u141f\u1420\u0001\u0000\u0000\u0000\u1420\u02c9\u0001\u0000\u0000"+
56553 "\u0000\u1421\u141f\u0001\u0000\u0000\u0000\u1422\u1423\u0003\u02cc\u0166"+
56554 "\u0000\u1423\u02cb\u0001\u0000\u0000\u0000\u1424\u1430\u0003\u02ce\u0167"+
56555 "\u0000\u1425\u1427\u0005N\u0000\u0000\u1426\u1428\u0005r\u0000\u0000\u1427"+
56556 "\u1426\u0001\u0000\u0000\u0000\u1427\u1428\u0001\u0000\u0000\u0000\u1428"+
56557 "\u142c\u0001\u0000\u0000\u0000\u1429\u142c\u0005\u00bc\u0000\u0000\u142a"+
56558 "\u142c\u0005\u00bd\u0000\u0000\u142b\u1425\u0001\u0000\u0000\u0000\u142b"+
56559 "\u1429\u0001\u0000\u0000\u0000\u142b\u142a\u0001\u0000\u0000\u0000\u142c"+
56560 "\u142d\u0001\u0000\u0000\u0000\u142d\u142f\u0003\u02ce\u0167\u0000\u142e"+
56561 "\u142b\u0001\u0000\u0000\u0000\u142f\u1432\u0001\u0000\u0000\u0000\u1430"+
56562 "\u142e\u0001\u0000\u0000\u0000\u1430\u1431\u0001\u0000\u0000\u0000\u1431"+
56563 "\u02cd\u0001\u0000\u0000\u0000\u1432\u1430\u0001\u0000\u0000\u0000\u1433"+
56564 "\u1435\u0003\u030e\u0187\u0000\u1434\u1433\u0001\u0000\u0000\u0000\u1434"+
56565 "\u1435\u0001\u0000\u0000\u0000\u1435\u1436\u0001\u0000\u0000\u0000\u1436"+
56566 "\u1438\u0005.\u0000\u0000\u1437\u1439\u0003\u02d0\u0168\u0000\u1438\u1437"+
56567 "\u0001\u0000\u0000\u0000\u1438\u1439\u0001\u0000\u0000\u0000\u1439\u143a"+
56568 "\u0001\u0000\u0000\u0000\u143a\u143c\u0003\u02d2\u0169\u0000\u143b\u143d"+
56569 "\u0003\u02de\u016f\u0000\u143c\u143b\u0001\u0000\u0000\u0000\u143c\u143d"+
56570 "\u0001\u0000\u0000\u0000\u143d\u143f\u0001\u0000\u0000\u0000\u143e\u1440"+
56571 "\u0003\u02ea\u0175\u0000\u143f\u143e\u0001\u0000\u0000\u0000\u143f\u1440"+
56572 "\u0001\u0000\u0000\u0000\u1440\u1442\u0001\u0000\u0000\u0000\u1441\u1443"+
56573 "\u0003\u02ec\u0176\u0000\u1442\u1441\u0001\u0000\u0000\u0000\u1442\u1443"+
56574 "\u0001\u0000\u0000\u0000\u1443\u1445\u0001\u0000\u0000\u0000\u1444\u1446"+
56575 "\u0003\u02ee\u0177\u0000\u1445\u1444\u0001\u0000\u0000\u0000\u1445\u1446"+
56576 "\u0001\u0000\u0000\u0000\u1446\u1448\u0001\u0000\u0000\u0000\u1447\u1449"+
56577 "\u0003\u009aM\u0000\u1448\u1447\u0001\u0000\u0000\u0000\u1448\u1449\u0001"+
56578 "\u0000\u0000\u0000\u1449\u144b\u0001\u0000\u0000\u0000\u144a\u144c\u0003"+
56579 "\u0306\u0183\u0000\u144b\u144a\u0001\u0000\u0000\u0000\u144b\u144c\u0001"+
56580 "\u0000\u0000\u0000\u144c\u02cf\u0001\u0000\u0000\u0000\u144d\u144e\u0007"+
56581 "I\u0000\u0000\u144e\u02d1\u0001\u0000\u0000\u0000\u144f\u1455\u0003\u02d4"+
56582 "\u016a\u0000\u1450\u1452\u0003\u02d6\u016b\u0000\u1451\u1453\u0003\u02d4"+
56583 "\u016a\u0000\u1452\u1451\u0001\u0000\u0000\u0000\u1452\u1453\u0001\u0000"+
56584 "\u0000\u0000\u1453\u1455\u0001\u0000\u0000\u0000\u1454\u144f\u0001\u0000"+
56585 "\u0000\u0000\u1454\u1450\u0001\u0000\u0000\u0000\u1455\u145a\u0001\u0000"+
56586 "\u0000\u0000\u1456\u1457\u0005%\u0000\u0000\u1457\u1459\u0003\u02d4\u016a"+
56587 "\u0000\u1458\u1456\u0001\u0000\u0000\u0000\u1459\u145c\u0001\u0000\u0000"+
56588 "\u0000\u145a\u1458\u0001\u0000\u0000\u0000\u145a\u145b\u0001\u0000\u0000"+
56589 "\u0000\u145b\u02d3\u0001\u0000\u0000\u0000\u145c\u145a\u0001\u0000\u0000"+
56590 "\u0000\u145d\u1473\u0003\u02dc\u016e\u0000\u145e\u1473\u0003\u02da\u016d"+
56591 "\u0000\u145f\u1460\u0003\\.\u0000\u1460\u1461\u0005\u0018\u0000\u0000"+
56592 "\u1461\u1463\u0001\u0000\u0000\u0000\u1462\u145f\u0001\u0000\u0000\u0000"+
56593 "\u1462\u1463\u0001\u0000\u0000\u0000\u1463\u1466\u0001\u0000\u0000\u0000"+
56594 "\u1464\u1467\u0003H$\u0000\u1465\u1467\u0003b1\u0000\u1466\u1464\u0001"+
56595 "\u0000\u0000\u0000\u1466\u1465\u0001\u0000\u0000\u0000\u1467\u1473\u0001"+
56596 "\u0000\u0000\u0000\u1468\u146b\u0003H$\u0000\u1469\u146b\u0003b1\u0000"+
56597 "\u146a\u1468\u0001\u0000\u0000\u0000\u146a\u1469\u0001\u0000\u0000\u0000"+
56598 "\u146b\u1470\u0001\u0000\u0000\u0000\u146c\u146e\u0005`\u0000\u0000\u146d"+
56599 "\u146c\u0001\u0000\u0000\u0000\u146d\u146e\u0001\u0000\u0000\u0000\u146e"+
56600 "\u146f\u0001\u0000\u0000\u0000\u146f\u1471\u0003\\.\u0000\u1470\u146d"+
56601 "\u0001\u0000\u0000\u0000\u1470\u1471\u0001\u0000\u0000\u0000\u1471\u1473"+
56602 "\u0001\u0000\u0000\u0000\u1472\u145d\u0001\u0000\u0000\u0000\u1472\u145e"+
56603 "\u0001\u0000\u0000\u0000\u1472\u1462\u0001\u0000\u0000\u0000\u1472\u146a"+
56604 "\u0001\u0000\u0000\u0000\u1473\u02d5\u0001\u0000\u0000\u0000\u1474\u1476"+
56605 "\u0005\u00f0\u0000\u0000\u1475\u1477\u0005\u001f\u0000\u0000\u1476\u1475"+
56606 "\u0001\u0000\u0000\u0000\u1476\u1477\u0001\u0000\u0000\u0000\u1477\u1478"+
56607 "\u0001\u0000\u0000\u0000\u1478\u147a\u0003\u02d8\u016c\u0000\u1479\u147b"+
56608 "\u0005 \u0000\u0000\u147a\u1479\u0001\u0000\u0000\u0000\u147a\u147b\u0001"+
56609 "\u0000\u0000\u0000\u147b\u147d\u0001\u0000\u0000\u0000\u147c\u147e\u0005"+
56610 "\u00ba\u0000\u0000\u147d\u147c\u0001\u0000\u0000\u0000\u147d\u147e\u0001"+
56611 "\u0000\u0000\u0000\u147e\u1481\u0001\u0000\u0000\u0000\u147f\u1480\u0005"+
56612 "M\u0000\u0000\u1480\u1482\u0005\u00bb\u0000\u0000\u1481\u147f\u0001\u0000"+
56613 "\u0000\u0000\u1481\u1482\u0001\u0000\u0000\u0000\u1482\u1490\u0001\u0000"+
56614 "\u0000\u0000\u1483\u1484\u0005\u01b6\u0000\u0000\u1484\u1485\u0005\u001f"+
56615 "\u0000\u0000\u1485\u1486\u0005 \u0000\u0000\u1486\u1487\u0005\u012a\u0000"+
56616 "\u0000\u1487\u1488\u0005\u001f\u0000\u0000\u1488\u1489\u0003\u009aM\u0000"+
56617 "\u1489\u148e\u0005 \u0000\u0000\u148a\u148c\u0005`\u0000\u0000\u148b\u148a"+
56618 "\u0001\u0000\u0000\u0000\u148b\u148c\u0001\u0000\u0000\u0000\u148c\u148d"+
56619 "\u0001\u0000\u0000\u0000\u148d\u148f\u0003\\.\u0000\u148e\u148b\u0001"+
56620 "\u0000\u0000\u0000\u148e\u148f\u0001\u0000\u0000\u0000\u148f\u1491\u0001"+
56621 "\u0000\u0000\u0000\u1490\u1483\u0001\u0000\u0000\u0000\u1490\u1491\u0001"+
56622 "\u0000\u0000\u0000\u1491\u02d7\u0001\u0000\u0000\u0000\u1492\u1495\u0003"+
56623 "\u001e\u000f\u0000\u1493\u1495\u0003\u0018\f\u0000\u1494\u1492\u0001\u0000"+
56624 "\u0000\u0000\u1494\u1493\u0001\u0000\u0000\u0000\u1495\u02d9\u0001\u0000"+
56625 "\u0000\u0000\u1496\u1497\u0005\u0011\u0000\u0000\u1497\u02db\u0001\u0000"+
56626 "\u0000\u0000\u1498\u1499\u0003*\u0015\u0000\u1499\u149a\u0005\u0015\u0000"+
56627 "\u0000\u149a\u02dd\u0001\u0000\u0000\u0000\u149b\u149c\u0005U\u0000\u0000"+
56628 "\u149c\u149d\u0003\u02e0\u0170\u0000\u149d\u02df\u0001\u0000\u0000\u0000"+
56629 "\u149e\u14a3\u0003\u02e2\u0171\u0000\u149f\u14a0\u0005%\u0000\u0000\u14a0"+
56630 "\u14a2\u0003\u02e2\u0171\u0000\u14a1\u149f\u0001\u0000\u0000\u0000\u14a2"+
56631 "\u14a5\u0001\u0000\u0000\u0000\u14a3\u14a1\u0001\u0000\u0000\u0000\u14a3"+
56632 "\u14a4\u0001\u0000\u0000\u0000\u14a4\u02e1\u0001\u0000\u0000\u0000\u14a5"+
56633 "\u14a3\u0001\u0000\u0000\u0000\u14a6\u14aa\u0003\u02e4\u0172\u0000\u14a7"+
56634 "\u14a9\u0003\u02e6\u0173\u0000\u14a8\u14a7\u0001\u0000\u0000\u0000\u14a9"+
56635 "\u14ac\u0001\u0000\u0000\u0000\u14aa\u14a8\u0001\u0000\u0000\u0000\u14aa"+
56636 "\u14ab\u0001\u0000\u0000\u0000\u14ab\u02e3\u0001\u0000\u0000\u0000\u14ac"+
56637 "\u14aa\u0001\u0000\u0000\u0000\u14ad\u14b2\u0003@ \u0000\u14ae\u14b0\u0005"+
56638 "`\u0000\u0000\u14af\u14ae\u0001\u0000\u0000\u0000\u14af\u14b0\u0001\u0000"+
56639 "\u0000\u0000\u14b0\u14b1\u0001\u0000\u0000\u0000\u14b1\u14b3\u0003\\."+
56640 "\u0000\u14b2\u14af\u0001\u0000\u0000\u0000\u14b2\u14b3\u0001\u0000\u0000"+
56641 "\u0000\u14b3\u14c8\u0001\u0000\u0000\u0000\u14b4\u14b6\u0003\u02f0\u0178"+
56642 "\u0000\u14b5\u14b7\u0005`\u0000\u0000\u14b6\u14b5\u0001\u0000\u0000\u0000"+
56643 "\u14b6\u14b7\u0001\u0000\u0000\u0000\u14b7\u14b8\u0001\u0000\u0000\u0000"+
56644 "\u14b8\u14ba\u0003\\.\u0000\u14b9\u14bb\u0003P(\u0000\u14ba\u14b9\u0001"+
56645 "\u0000\u0000\u0000\u14ba\u14bb\u0001\u0000\u0000\u0000\u14bb\u14c8\u0001"+
56646 "\u0000\u0000\u0000\u14bc\u14c1\u0003b1\u0000\u14bd\u14bf\u0005`\u0000"+
56647 "\u0000\u14be\u14bd\u0001\u0000\u0000\u0000\u14be\u14bf\u0001\u0000\u0000"+
56648 "\u0000\u14bf\u14c0\u0001\u0000\u0000\u0000\u14c0\u14c2\u0003\\.\u0000"+
56649 "\u14c1\u14be\u0001\u0000\u0000\u0000\u14c1\u14c2\u0001\u0000\u0000\u0000"+
56650 "\u14c2\u14c8\u0001\u0000\u0000\u0000\u14c3\u14c4\u0005\u001f\u0000\u0000"+
56651 "\u14c4\u14c5\u0003\u02e0\u0170\u0000\u14c5\u14c6\u0005 \u0000\u0000\u14c6"+
56652 "\u14c8\u0001\u0000\u0000\u0000\u14c7\u14ad\u0001\u0000\u0000\u0000\u14c7"+
56653 "\u14b4\u0001\u0000\u0000\u0000\u14c7\u14bc\u0001\u0000\u0000\u0000\u14c7"+
56654 "\u14c3\u0001\u0000\u0000\u0000\u14c8\u02e5\u0001\u0000\u0000\u0000\u14c9"+
56655 "\u14cb\u0005V\u0000\u0000\u14ca\u14c9\u0001\u0000\u0000\u0000\u14ca\u14cb"+
56656 "\u0001\u0000\u0000\u0000\u14cb\u14cd\u0001\u0000\u0000\u0000\u14cc\u14ce"+
56657 "\u0007J\u0000\u0000\u14cd\u14cc\u0001\u0000\u0000\u0000\u14cd\u14ce\u0001"+
56658 "\u0000\u0000\u0000\u14ce\u14cf\u0001\u0000\u0000\u0000\u14cf\u14d0\u0005"+
56659 "W\u0000\u0000\u14d0\u14d1\u0001\u0000\u0000\u0000\u14d1\u14d3\u0003\u02e4"+
56660 "\u0172\u0000\u14d2\u14d4\u0003\u02e8\u0174\u0000\u14d3\u14d2\u0001\u0000"+
56661 "\u0000\u0000\u14d3\u14d4\u0001\u0000\u0000\u0000\u14d4\u14e8\u0001\u0000"+
56662 "\u0000\u0000\u14d5\u14d7\u0005V\u0000\u0000\u14d6\u14d5\u0001\u0000\u0000"+
56663 "\u0000\u14d6\u14d7\u0001\u0000\u0000\u0000\u14d7\u14d8\u0001\u0000\u0000"+
56664 "\u0000\u14d8\u14da\u0007K\u0000\u0000\u14d9\u14db\u0005Z\u0000\u0000\u14da"+
56665 "\u14d9\u0001\u0000\u0000\u0000\u14da\u14db\u0001\u0000\u0000\u0000\u14db"+
56666 "\u14dc\u0001\u0000\u0000\u0000\u14dc\u14dd\u0005W\u0000\u0000\u14dd\u14df"+
56667 "\u0003\u02e4\u0172\u0000\u14de\u14e0\u0003\u02e8\u0174\u0000\u14df\u14de"+
56668 "\u0001\u0000\u0000\u0000\u14df\u14e0\u0001\u0000\u0000\u0000\u14e0\u14e8"+
56669 "\u0001\u0000\u0000\u0000\u14e1\u14e2\u0007L\u0000\u0000\u14e2\u14e3\u0005"+
56670 "\u00d7\u0000\u0000\u14e3\u14e5\u0003\u02e4\u0172\u0000\u14e4\u14e6\u0003"+
56671 "\u02e8\u0174\u0000\u14e5\u14e4\u0001\u0000\u0000\u0000\u14e5\u14e6\u0001"+
56672 "\u0000\u0000\u0000\u14e6\u14e8\u0001\u0000\u0000\u0000\u14e7\u14ca\u0001"+
56673 "\u0000\u0000\u0000\u14e7\u14d6\u0001\u0000\u0000\u0000\u14e7\u14e1\u0001"+
56674 "\u0000\u0000\u0000\u14e8\u02e7\u0001\u0000\u0000\u0000\u14e9\u14ea\u0005"+
56675 "a\u0000\u0000\u14ea\u14ee\u0003b1\u0000\u14eb\u14ec\u0005^\u0000\u0000"+
56676 "\u14ec\u14ee\u0003P(\u0000\u14ed\u14e9\u0001\u0000\u0000\u0000\u14ed\u14eb"+
56677 "\u0001\u0000\u0000\u0000\u14ee\u02e9\u0001\u0000\u0000\u0000\u14ef\u14f0"+
56678 "\u0005_\u0000\u0000\u14f0\u14f1\u0003b1\u0000\u14f1\u02eb\u0001\u0000"+
56679 "\u0000\u0000\u14f2\u14f3\u0005v\u0000\u0000\u14f3\u14f4\u0005w\u0000\u0000"+
56680 "\u14f4\u14f9\u0003\u009cN\u0000\u14f5\u14f6\u0005%\u0000\u0000\u14f6\u14f8"+
56681 "\u0003\u009cN\u0000\u14f7\u14f5\u0001\u0000\u0000\u0000\u14f8\u14fb\u0001"+
56682 "\u0000\u0000\u0000\u14f9\u14f7\u0001\u0000\u0000\u0000\u14f9\u14fa\u0001"+
56683 "\u0000\u0000\u0000\u14fa\u02ed\u0001\u0000\u0000\u0000\u14fb\u14f9\u0001"+
56684 "\u0000\u0000\u0000\u14fc\u14fd\u0005z\u0000\u0000\u14fd\u14fe\u0003b1"+
56685 "\u0000\u14fe\u02ef\u0001\u0000\u0000\u0000\u14ff\u1500\u0005\u001f\u0000"+
56686 "\u0000\u1500\u1501\u0003\u02cc\u0166\u0000\u1501\u1502\u0005 \u0000\u0000"+
56687 "\u1502\u02f1\u0001\u0000\u0000\u0000\u1503\u1504\u0005M\u0000\u0000\u1504"+
56688 "\u1505\u0003\u02f4\u017a\u0000\u1505\u02f3\u0001\u0000\u0000\u0000\u1506"+
56689 "\u150b\u0003\u02f6\u017b\u0000\u1507\u1508\u0005%\u0000\u0000\u1508\u150a"+
56690 "\u0003\u02f6\u017b\u0000\u1509\u1507\u0001\u0000\u0000\u0000\u150a\u150d"+
56691 "\u0001\u0000\u0000\u0000\u150b\u1509\u0001\u0000\u0000\u0000\u150b\u150c"+
56692 "\u0001\u0000\u0000\u0000\u150c\u02f5\u0001\u0000\u0000\u0000\u150d\u150b"+
56693 "\u0001\u0000\u0000\u0000\u150e\u1510\u0003*\u0015\u0000\u150f\u1511\u0003"+
56694 "P(\u0000\u1510\u150f\u0001\u0000\u0000\u0000\u1510\u1511\u0001\u0000\u0000"+
56695 "\u0000\u1511\u1512\u0001\u0000\u0000\u0000\u1512\u1513\u0005`\u0000\u0000"+
56696 "\u1513\u1514\u0003\u02f0\u0178\u0000\u1514\u02f7\u0001\u0000\u0000\u0000"+
56697 "\u1515\u1518\u0005\u01ca\u0000\u0000\u1516\u1519\u0003\u02fa\u017d\u0000"+
56698 "\u1517\u1519\u0003\u02fe\u017f\u0000\u1518\u1516\u0001\u0000\u0000\u0000"+
56699 "\u1518\u1517\u0001\u0000\u0000\u0000\u1519\u151f\u0001\u0000\u0000\u0000"+
56700 "\u151a\u151b\u0005K\u0000\u0000\u151b\u151d\u0003\u0300\u0180\u0000\u151c"+
56701 "\u151e\u0003P(\u0000\u151d\u151c\u0001\u0000\u0000\u0000\u151d\u151e\u0001"+
56702 "\u0000\u0000\u0000\u151e\u1520\u0001\u0000\u0000\u0000\u151f\u151a\u0001"+
56703 "\u0000\u0000\u0000\u151f\u1520\u0001\u0000\u0000\u0000\u1520\u02f9\u0001"+
56704 "\u0000\u0000\u0000\u1521\u1526\u0003\u02fc\u017e\u0000\u1522\u1523\u0005"+
56705 "%\u0000\u0000\u1523\u1525\u0003\u02fc\u017e\u0000\u1524\u1522\u0001\u0000"+
56706 "\u0000\u0000\u1525\u1528\u0001\u0000\u0000\u0000\u1526\u1524\u0001\u0000"+
56707 "\u0000\u0000\u1526\u1527\u0001\u0000\u0000\u0000\u1527\u02fb\u0001\u0000"+
56708 "\u0000\u0000\u1528\u1526\u0001\u0000\u0000\u0000\u1529\u152a\u0007M\u0000"+
56709 "\u0000\u152a\u152b\u0005\u0014\u0000\u0000\u152b\u1530\u0003N\'\u0000"+
56710 "\u152c\u152e\u0005`\u0000\u0000\u152d\u152c\u0001\u0000\u0000\u0000\u152d"+
56711 "\u152e\u0001\u0000\u0000\u0000\u152e\u152f\u0001\u0000\u0000\u0000\u152f"+
56712 "\u1531\u0003\\.\u0000\u1530\u152d\u0001\u0000\u0000\u0000\u1530\u1531"+
56713 "\u0001\u0000\u0000\u0000\u1531\u02fd\u0001\u0000\u0000\u0000\u1532\u1533"+
56714 "\u0007M\u0000\u0000\u1533\u1534\u0005\u0015\u0000\u0000\u1534\u02ff\u0001"+
56715 "\u0000\u0000\u0000\u1535\u1536\u0005*\u0000\u0000\u1536\u1539\u0003N\'"+
56716 "\u0000\u1537\u1539\u0003@ \u0000\u1538\u1535\u0001\u0000\u0000\u0000\u1538"+
56717 "\u1537\u0001\u0000\u0000\u0000\u1539\u0301\u0001\u0000\u0000\u0000\u153a"+
56718 "\u153b\u0007N\u0000\u0000\u153b\u1581\u0005v\u0000\u0000\u153c\u153d\u0007"+
56719 "O\u0000\u0000\u153d\u1581\u0005N\u0000\u0000\u153e\u153f\u0007P\u0000"+
56720 "\u0000\u153f\u1581\u0005W\u0000\u0000\u1540\u1541\u0005\u00c1\u0000\u0000"+
56721 "\u1541\u1581\u0005\u00c2\u0000\u0000\u1542\u1543\u0005\u00c3\u0000\u0000"+
56722 "\u1543\u1581\u0005\u02cc\u0000\u0000\u1544\u1545\u0005\u00c4\u0000\u0000"+
56723 "\u1545\u1581\u0005u\u0000\u0000\u1546\u1547\u0007Q\u0000\u0000\u1547\u1581"+
56724 "\u0005\u01df\u0000\u0000\u1548\u1549\u0007Q\u0000\u0000\u1549\u1581\u0005"+
56725 "\u01e0\u0000\u0000\u154a\u1581\u0005\u01e1\u0000\u0000\u154b\u154c\u0005"+
56726 "\u00c5\u0000\u0000\u154c\u1581\u0005\u00c6\u0000\u0000\u154d\u154e\u0005"+
56727 "\u01e2\u0000\u0000\u154e\u1581\u0005\u00c6\u0000\u0000\u154f\u1550\u0005"+
56728 "\u01e3\u0000\u0000\u1550\u1551\u0005\u0018\u0000\u0000\u1551\u1581\u0005"+
56729 "\u02ce\u0000\u0000\u1552\u1553\u0005\u01e4\u0000\u0000\u1553\u1554\u0005"+
56730 "\u0018\u0000\u0000\u1554\u1581\u0005\u02ce\u0000\u0000\u1555\u1556\u0005"+
56731 "\u0124\u0000\u0000\u1556\u1581\u0005\u02cc\u0000\u0000\u1557\u1558\u0005"+
56732 "\u01e5\u0000\u0000\u1558\u1581\u0005\u02cc\u0000\u0000\u1559\u1581\u0005"+
56733 "\u01e6\u0000\u0000\u155a\u155b\u0005\u00c7\u0000\u0000\u155b\u155c\u0005"+
56734 "f\u0000\u0000\u155c\u155d\u0005\u001f\u0000\u0000\u155d\u155e\u0005*\u0000"+
56735 "\u0000\u155e\u1564\u0003N\'\u0000\u155f\u1563\u0005\u00f3\u0000\u0000"+
56736 "\u1560\u1561\u0005\u0018\u0000\u0000\u1561\u1563\u0003*\u0015\u0000\u1562"+
56737 "\u155f\u0001\u0000\u0000\u0000\u1562\u1560\u0001\u0000\u0000\u0000\u1563"+
56738 "\u1566\u0001\u0000\u0000\u0000\u1564\u1562\u0001\u0000\u0000\u0000\u1564"+
56739 "\u1565\u0001\u0000\u0000\u0000\u1565\u1567\u0001\u0000\u0000\u0000\u1566"+
56740 "\u1564\u0001\u0000\u0000\u0000\u1567\u1568\u0005 \u0000\u0000\u1568\u1581"+
56741 "\u0001\u0000\u0000\u0000\u1569\u156a\u0005\u00c7\u0000\u0000\u156a\u156b"+
56742 "\u0005f\u0000\u0000\u156b\u1581\u0005\u00f3\u0000\u0000\u156c\u156d\u0005"+
56743 "\u01e7\u0000\u0000\u156d\u1581\u0007>\u0000\u0000\u156e\u156f\u0005\u01e8"+
56744 "\u0000\u0000\u156f\u1581\u0005\u02cc\u0000\u0000\u1570\u1581\u0005\u01e9"+
56745 "\u0000\u0000\u1571\u1572\u0005\u01ea\u0000\u0000\u1572\u1581\u0005\u00c6"+
56746 "\u0000\u0000\u1573\u1574\u0005\u00be\u0000\u0000\u1574\u1575\u0005\u00ca"+
56747 "\u0000\u0000\u1575\u1579\u0005\u001f\u0000\u0000\u1576\u1578\u0003\u0304"+
56748 "\u0182\u0000\u1577\u1576\u0001\u0000\u0000\u0000\u1578\u157b\u0001\u0000"+
56749 "\u0000\u0000\u1579\u1577\u0001\u0000\u0000\u0000\u1579\u157a\u0001\u0000"+
56750 "\u0000\u0000\u157a\u157c\u0001\u0000\u0000\u0000\u157b\u1579\u0001\u0000"+
56751 "\u0000\u0000\u157c\u1581\u0005 \u0000\u0000\u157d\u157e\u0005\u00be\u0000"+
56752 "\u0000\u157e\u157f\u0005\u00c6\u0000\u0000\u157f\u1581\u0005\u02d1\u0000"+
56753 "\u0000\u1580\u153a\u0001\u0000\u0000\u0000\u1580\u153c\u0001\u0000\u0000"+
56754 "\u0000\u1580\u153e\u0001\u0000\u0000\u0000\u1580\u1540\u0001\u0000\u0000"+
56755 "\u0000\u1580\u1542\u0001\u0000\u0000\u0000\u1580\u1544\u0001\u0000\u0000"+
56756 "\u0000\u1580\u1546\u0001\u0000\u0000\u0000\u1580\u1548\u0001\u0000\u0000"+
56757 "\u0000\u1580\u154a\u0001\u0000\u0000\u0000\u1580\u154b\u0001\u0000\u0000"+
56758 "\u0000\u1580\u154d\u0001\u0000\u0000\u0000\u1580\u154f\u0001\u0000\u0000"+
56759 "\u0000\u1580\u1552\u0001\u0000\u0000\u0000\u1580\u1555\u0001\u0000\u0000"+
56760 "\u0000\u1580\u1557\u0001\u0000\u0000\u0000\u1580\u1559\u0001\u0000\u0000"+
56761 "\u0000\u1580\u155a\u0001\u0000\u0000\u0000\u1580\u1569\u0001\u0000\u0000"+
56762 "\u0000\u1580\u156c\u0001\u0000\u0000\u0000\u1580\u156e\u0001\u0000\u0000"+
56763 "\u0000\u1580\u1570\u0001\u0000\u0000\u0000\u1580\u1571\u0001\u0000\u0000"+
56764 "\u0000\u1580\u1573\u0001\u0000\u0000\u0000\u1580\u157d\u0001\u0000\u0000"+
56765 "\u0000\u1581\u0303\u0001\u0000\u0000\u0000\u1582\u1583\u0005\'\u0000\u0000"+
56766 "\u1583\u1584\u0005\u01cd\u0000\u0000\u1584\u15b9\u0005\'\u0000\u0000\u1585"+
56767 "\u1586\u0005\'\u0000\u0000\u1586\u1587\u0005\u01ce\u0000\u0000\u1587\u15b9"+
56768 "\u0005\'\u0000\u0000\u1588\u1589\u0005\'\u0000\u0000\u1589\u158a\u0005"+
56769 "\u01cf\u0000\u0000\u158a\u15b9\u0005\'\u0000\u0000\u158b\u158c\u0005\'"+
56770 "\u0000\u0000\u158c\u158d\u0005\u01d0\u0000\u0000\u158d\u15b9\u0005\'\u0000"+
56771 "\u0000\u158e\u158f\u0005\'\u0000\u0000\u158f\u1590\u0005\u01d1\u0000\u0000"+
56772 "\u1590\u15b9\u0005\'\u0000\u0000\u1591\u1592\u0005\'\u0000\u0000\u1592"+
56773 "\u1593\u0005\u01d2\u0000\u0000\u1593\u15b9\u0005\'\u0000\u0000\u1594\u1595"+
56774 "\u0005\'\u0000\u0000\u1595\u1596\u0005\u01d3\u0000\u0000\u1596\u15b9\u0005"+
56775 "\'\u0000\u0000\u1597\u1598\u0005\'\u0000\u0000\u1598\u1599\u0005\u01d4"+
56776 "\u0000\u0000\u1599\u15b9\u0005\'\u0000\u0000\u159a\u159b\u0005\'\u0000"+
56777 "\u0000\u159b\u159c\u0005\u01d5\u0000\u0000\u159c\u15b9\u0005\'\u0000\u0000"+
56778 "\u159d\u159e\u0005\'\u0000\u0000\u159e\u159f\u0005\u01d6\u0000\u0000\u159f"+
56779 "\u15b9\u0005\'\u0000\u0000\u15a0\u15a1\u0005\'\u0000\u0000\u15a1\u15a2"+
56780 "\u0005\u01d7\u0000\u0000\u15a2\u15b9\u0005\'\u0000\u0000\u15a3\u15a4\u0005"+
56781 "\'\u0000\u0000\u15a4\u15a5\u0005\u01d8\u0000\u0000\u15a5\u15b9\u0005\'"+
56782 "\u0000\u0000\u15a6\u15a7\u0005\'\u0000\u0000\u15a7\u15a8\u0005\u01d9\u0000"+
56783 "\u0000\u15a8\u15b9\u0005\'\u0000\u0000\u15a9\u15aa\u0005\'\u0000\u0000"+
56784 "\u15aa\u15ab\u0005\u01da\u0000\u0000\u15ab\u15b9\u0005\'\u0000\u0000\u15ac"+
56785 "\u15ad\u0005\'\u0000\u0000\u15ad\u15ae\u0005\u01db\u0000\u0000\u15ae\u15b9"+
56786 "\u0005\'\u0000\u0000\u15af\u15b0\u0005\'\u0000\u0000\u15b0\u15b1\u0005"+
56787 "\u01dc\u0000\u0000\u15b1\u15b9\u0005\'\u0000\u0000\u15b2\u15b3\u0005\'"+
56788 "\u0000\u0000\u15b3\u15b4\u0005\u01dd\u0000\u0000\u15b4\u15b9\u0005\'\u0000"+
56789 "\u0000\u15b5\u15b6\u0005\'\u0000\u0000\u15b6\u15b7\u0005\u01de\u0000\u0000"+
56790 "\u15b7\u15b9\u0005\'\u0000\u0000\u15b8\u1582\u0001\u0000\u0000\u0000\u15b8"+
56791 "\u1585\u0001\u0000\u0000\u0000\u15b8\u1588\u0001\u0000\u0000\u0000\u15b8"+
56792 "\u158b\u0001\u0000\u0000\u0000\u15b8\u158e\u0001\u0000\u0000\u0000\u15b8"+
56793 "\u1591\u0001\u0000\u0000\u0000\u15b8\u1594\u0001\u0000\u0000\u0000\u15b8"+
56794 "\u1597\u0001\u0000\u0000\u0000\u15b8\u159a\u0001\u0000\u0000\u0000\u15b8"+
56795 "\u159d\u0001\u0000\u0000\u0000\u15b8\u15a0\u0001\u0000\u0000\u0000\u15b8"+
56796 "\u15a3\u0001\u0000\u0000\u0000\u15b8\u15a6\u0001\u0000\u0000\u0000\u15b8"+
56797 "\u15a9\u0001\u0000\u0000\u0000\u15b8\u15ac\u0001\u0000\u0000\u0000\u15b8"+
56798 "\u15af\u0001\u0000\u0000\u0000\u15b8\u15b2\u0001\u0000\u0000\u0000\u15b8"+
56799 "\u15b5\u0001\u0000\u0000\u0000\u15b9\u0305\u0001\u0000\u0000\u0000\u15ba"+
56800 "\u15be\u0005f\u0000\u0000\u15bb\u15bf\u0005\u02b0\u0000\u0000\u15bc\u15bf"+
56801 "\u0003\u0308\u0184\u0000\u15bd\u15bf\u0003\u030c\u0186\u0000\u15be\u15bb"+
56802 "\u0001\u0000\u0000\u0000\u15be\u15bc\u0001\u0000\u0000\u0000\u15be\u15bd"+
56803 "\u0001\u0000\u0000\u0000\u15bf\u0307\u0001\u0000\u0000\u0000\u15c0\u15fb"+
56804 "\u0005\u015d\u0000\u0000\u15c1\u15c6\u0005\u02b1\u0000\u0000\u15c2\u15c3"+
56805 "\u0005\u001f\u0000\u0000\u15c3\u15c4\u0003\u001c\u000e\u0000\u15c4\u15c5"+
56806 "\u0005 \u0000\u0000\u15c5\u15c7\u0001\u0000\u0000\u0000\u15c6\u15c2\u0001"+
56807 "\u0000\u0000\u0000\u15c6\u15c7\u0001\u0000\u0000\u0000\u15c7\u15ca\u0001"+
56808 "\u0000\u0000\u0000\u15c8\u15ca\u0005\u0103\u0000\u0000\u15c9\u15c1\u0001"+
56809 "\u0000\u0000\u0000\u15c9\u15c8\u0001\u0000\u0000\u0000\u15ca\u15e0\u0001"+
56810 "\u0000\u0000\u0000\u15cb\u15d7\u0003\u030a\u0185\u0000\u15cc\u15d5\u0005"+
56811 "%\u0000\u0000\u15cd\u15d6\u0005\u02b2\u0000\u0000\u15ce\u15d3\u0005\u02b3"+
56812 "\u0000\u0000\u15cf\u15d0\u0005\u001f\u0000\u0000\u15d0\u15d1\u0003\u001c"+
56813 "\u000e\u0000\u15d1\u15d2\u0005 \u0000\u0000\u15d2\u15d4\u0001\u0000\u0000"+
56814 "\u0000\u15d3\u15cf\u0001\u0000\u0000\u0000\u15d3\u15d4\u0001\u0000\u0000"+
56815 "\u0000\u15d4\u15d6\u0001\u0000\u0000\u0000\u15d5\u15cd\u0001\u0000\u0000"+
56816 "\u0000\u15d5\u15ce\u0001\u0000\u0000\u0000\u15d6\u15d8\u0001\u0000\u0000"+
56817 "\u0000\u15d7\u15cc\u0001\u0000\u0000\u0000\u15d7\u15d8\u0001\u0000\u0000"+
56818 "\u0000\u15d8\u15de\u0001\u0000\u0000\u0000\u15d9\u15da\u0005%\u0000\u0000"+
56819 "\u15da\u15dc\u0005\u02b4\u0000\u0000\u15db\u15dd\u0007R\u0000\u0000\u15dc"+
56820 "\u15db\u0001\u0000\u0000\u0000\u15dc\u15dd\u0001\u0000\u0000\u0000\u15dd"+
56821 "\u15df\u0001\u0000\u0000\u0000\u15de\u15d9\u0001\u0000\u0000\u0000\u15de"+
56822 "\u15df\u0001\u0000\u0000\u0000\u15df\u15e1\u0001\u0000\u0000\u0000\u15e0"+
56823 "\u15cb\u0001\u0000\u0000\u0000\u15e0\u15e1\u0001\u0000\u0000\u0000\u15e1"+
56824 "\u15fc\u0001\u0000\u0000\u0000\u15e2\u15e8\u0005\u02b7\u0000\u0000\u15e3"+
56825 "\u15e6\u0003\u030a\u0185\u0000\u15e4\u15e5\u0005%\u0000\u0000\u15e5\u15e7"+
56826 "\u0005\u02b2\u0000\u0000\u15e6\u15e4\u0001\u0000\u0000\u0000\u15e6\u15e7"+
56827 "\u0001\u0000\u0000\u0000\u15e7\u15e9\u0001\u0000\u0000\u0000\u15e8\u15e3"+
56828 "\u0001\u0000\u0000\u0000\u15e8\u15e9\u0001\u0000\u0000\u0000\u15e9\u15fc"+
56829 "\u0001\u0000\u0000\u0000\u15ea\u15ef\u0005\u02b8\u0000\u0000\u15eb\u15ec"+
56830 "\u0005\u001f\u0000\u0000\u15ec\u15ed\u0003\u001c\u000e\u0000\u15ed\u15ee"+
56831 "\u0005 \u0000\u0000\u15ee\u15f0\u0001\u0000\u0000\u0000\u15ef\u15eb\u0001"+
56832 "\u0000\u0000\u0000\u15ef\u15f0\u0001\u0000\u0000\u0000\u15f0\u15f9\u0001"+
56833 "\u0000\u0000\u0000\u15f1\u15f7\u0003\u030a\u0185\u0000\u15f2\u15f3\u0005"+
56834 "%\u0000\u0000\u15f3\u15f5\u0005\u02b4\u0000\u0000\u15f4\u15f6\u0007R\u0000"+
56835 "\u0000\u15f5\u15f4\u0001\u0000\u0000\u0000\u15f5\u15f6\u0001\u0000\u0000"+
56836 "\u0000\u15f6\u15f8\u0001\u0000\u0000\u0000\u15f7\u15f2\u0001\u0000\u0000"+
56837 "\u0000\u15f7\u15f8\u0001\u0000\u0000\u0000\u15f8\u15fa\u0001\u0000\u0000"+
56838 "\u0000\u15f9\u15f1\u0001\u0000\u0000\u0000\u15f9\u15fa\u0001\u0000\u0000"+
56839 "\u0000\u15fa\u15fc\u0001\u0000\u0000\u0000\u15fb\u15c9\u0001\u0000\u0000"+
56840 "\u0000\u15fb\u15e2\u0001\u0000\u0000\u0000\u15fb\u15ea\u0001\u0000\u0000"+
56841 "\u0000\u15fc\u0309\u0001\u0000\u0000\u0000\u15fd\u15fe\u0005%\u0000\u0000"+
56842 "\u15fe\u15ff\u0005\u00ea\u0000\u0000\u15ff\u1601\u0005\u02b9\u0000\u0000"+
56843 "\u1600\u15fd\u0001\u0000\u0000\u0000\u1600\u1601\u0001\u0000\u0000\u0000"+
56844 "\u1601\u1604\u0001\u0000\u0000\u0000\u1602\u1603\u0005%\u0000\u0000\u1603"+
56845 "\u1605\u0005\u00b0\u0000\u0000\u1604\u1602\u0001\u0000\u0000\u0000\u1604"+
56846 "\u1605\u0001\u0000\u0000\u0000\u1605\u160e\u0001\u0000\u0000\u0000\u1606"+
56847 "\u1607\u0005%\u0000\u0000\u1607\u160c\u0005\u02ba\u0000\u0000\u1608\u1609"+
56848 "\u0005\u001f\u0000\u0000\u1609\u160a\u0003\u001c\u000e\u0000\u160a\u160b"+
56849 "\u0005 \u0000\u0000\u160b\u160d\u0001\u0000\u0000\u0000\u160c\u1608\u0001"+
56850 "\u0000\u0000\u0000\u160c\u160d\u0001\u0000\u0000\u0000\u160d\u160f\u0001"+
56851 "\u0000\u0000\u0000\u160e\u1606\u0001\u0000\u0000\u0000\u160e\u160f\u0001"+
56852 "\u0000\u0000\u0000\u160f\u030b\u0001\u0000\u0000\u0000\u1610\u1611\u0005"+
56853 "\u02bb\u0000\u0000\u1611\u1624\u0007S\u0000\u0000\u1612\u1613\u0005%\u0000"+
56854 "\u0000\u1613\u1618\u0005\u02ba\u0000\u0000\u1614\u1615\u0005\u001f\u0000"+
56855 "\u0000\u1615\u1616\u0003\u001c\u000e\u0000\u1616\u1617\u0005 \u0000\u0000"+
56856 "\u1617\u1619\u0001\u0000\u0000\u0000\u1618\u1614\u0001\u0000\u0000\u0000"+
56857 "\u1618\u1619\u0001\u0000\u0000\u0000\u1619\u161b\u0001\u0000\u0000\u0000"+
56858 "\u161a\u1612\u0001\u0000\u0000\u0000\u161a\u161b\u0001\u0000\u0000\u0000"+
56859 "\u161b\u161e\u0001\u0000\u0000\u0000\u161c\u161d\u0005%\u0000\u0000\u161d"+
56860 "\u161f\u0005\u02bc\u0000\u0000\u161e\u161c\u0001\u0000\u0000\u0000\u161e"+
56861 "\u161f\u0001\u0000\u0000\u0000\u161f\u1622\u0001\u0000\u0000\u0000\u1620"+
56862 "\u1621\u0005%\u0000\u0000\u1621\u1623\u0005\u02bd\u0000\u0000\u1622\u1620"+
56863 "\u0001\u0000\u0000\u0000\u1622\u1623\u0001\u0000\u0000\u0000\u1623\u1625"+
56864 "\u0001\u0000\u0000\u0000\u1624\u161a\u0001\u0000\u0000\u0000\u1624\u1625"+
56865 "\u0001\u0000\u0000\u0000\u1625\u030d\u0001\u0000\u0000\u0000\u1626\u162b"+
56866 "\u0005M\u0000\u0000\u1627\u1629\u0003\u0310\u0188\u0000\u1628\u162a\u0005"+
56867 "%\u0000\u0000\u1629\u1628\u0001\u0000\u0000\u0000\u1629\u162a\u0001\u0000"+
56868 "\u0000\u0000\u162a\u162c\u0001\u0000\u0000\u0000\u162b\u1627\u0001\u0000"+
56869 "\u0000\u0000\u162b\u162c\u0001\u0000\u0000\u0000\u162c\u162e\u0001\u0000"+
56870 "\u0000\u0000\u162d\u162f\u0003\u02f4\u017a\u0000\u162e\u162d\u0001\u0000"+
56871 "\u0000\u0000\u162e\u162f\u0001\u0000\u0000\u0000\u162f\u030f\u0001\u0000"+
56872 "\u0000\u0000\u1630\u1631\u0005\u02be\u0000\u0000\u1631\u1632\u0005\u001f"+
56873 "\u0000\u0000\u1632\u1637\u0003\u0312\u0189\u0000\u1633\u1634\u0005%\u0000"+
56874 "\u0000\u1634\u1636\u0003\u0312\u0189\u0000\u1635\u1633\u0001\u0000\u0000"+
56875 "\u0000\u1636\u1639\u0001\u0000\u0000\u0000\u1637\u1635\u0001\u0000\u0000"+
56876 "\u0000\u1637\u1638\u0001\u0000\u0000\u0000\u1638\u163a\u0001\u0000\u0000"+
56877 "\u0000\u1639\u1637\u0001\u0000\u0000\u0000\u163a\u163b\u0005 \u0000\u0000"+
56878 "\u163b\u0311\u0001\u0000\u0000\u0000\u163c\u163d\u0003\u0314\u018a\u0000"+
56879 "\u163d\u163e\u0005`\u0000\u0000\u163e\u163f\u0003\u0316\u018b\u0000\u163f"+
56880 "\u1642\u0001\u0000\u0000\u0000\u1640\u1642\u0003\u0318\u018c\u0000\u1641"+
56881 "\u163c\u0001\u0000\u0000\u0000\u1641\u1640\u0001\u0000\u0000\u0000\u1642"+
56882 "\u0313\u0001\u0000\u0000\u0000\u1643\u1644\u0003\u001c\u000e\u0000\u1644"+
56883 "\u0315\u0001\u0000\u0000\u0000\u1645\u1646\u0003*\u0015\u0000\u1646\u0317"+
56884 "\u0001\u0000\u0000\u0000\u1647\u1648\u0005\u009a\u0000\u0000\u1648\u1649"+
56885 "\u0003\u0314\u018a\u0000\u1649\u0319\u0001\u0000\u0000\u0000\u164a\u164d"+
56886 "\u00057\u0000\u0000\u164b\u164e\u0003\u031c\u018e\u0000\u164c\u164e\u0003"+
56887 "\u031e\u018f\u0000\u164d\u164b\u0001\u0000\u0000\u0000\u164d\u164c\u0001"+
56888 "\u0000\u0000\u0000\u164e\u031b\u0001\u0000\u0000\u0000\u164f\u1652\u0003"+
56889 "\u0320\u0190\u0000\u1650\u1651\u0005a\u0000\u0000\u1651\u1653\u0003\u0322"+
56890 "\u0191\u0000\u1652\u1650\u0001\u0000\u0000\u0000\u1652\u1653\u0001\u0000"+
56891 "\u0000\u0000\u1653\u1654\u0001\u0000\u0000\u0000\u1654\u1655\u0005g\u0000"+
56892 "\u0000\u1655\u165a\u0003\u032a\u0195\u0000\u1656\u1657\u0005%\u0000\u0000"+
56893 "\u1657\u1659\u0003\u032a\u0195\u0000\u1658\u1656\u0001\u0000\u0000\u0000"+
56894 "\u1659\u165c\u0001\u0000\u0000\u0000\u165a\u1658\u0001\u0000\u0000\u0000"+
56895 "\u165a\u165b\u0001\u0000\u0000\u0000\u165b\u1660\u0001\u0000\u0000\u0000"+
56896 "\u165c\u165a\u0001\u0000\u0000\u0000\u165d\u165e\u0005M\u0000\u0000\u165e"+
56897 "\u165f\u00057\u0000\u0000\u165f\u1661\u0005\u00fa\u0000\u0000\u1660\u165d"+
56898 "\u0001\u0000\u0000\u0000\u1660\u1661\u0001\u0000\u0000\u0000\u1661\u1664"+
56899 "\u0001\u0000\u0000\u0000\u1662\u1663\u0005`\u0000\u0000\u1663\u1665\u0003"+
56900 "\u032a\u0195\u0000\u1664\u1662\u0001\u0000\u0000\u0000\u1664\u1665\u0001"+
56901 "\u0000\u0000\u0000\u1665\u031d\u0001\u0000\u0000\u0000\u1666\u1669\u0003"+
56902 "\u0324\u0192\u0000\u1667\u1668\u0005a\u0000\u0000\u1668\u166a\u0003\u0326"+
56903 "\u0193\u0000\u1669\u1667\u0001\u0000\u0000\u0000\u1669\u166a\u0001\u0000"+
56904 "\u0000\u0000\u166a\u166b\u0001\u0000\u0000\u0000\u166b\u166c\u0005g\u0000"+
56905 "\u0000\u166c\u1671\u0003\u032a\u0195\u0000\u166d\u166e\u0005%\u0000\u0000"+
56906 "\u166e\u1670\u0003\u032a\u0195\u0000\u166f\u166d\u0001\u0000\u0000\u0000"+
56907 "\u1670\u1673\u0001\u0000\u0000\u0000\u1671\u166f\u0001\u0000\u0000\u0000"+
56908 "\u1671\u1672\u0001\u0000\u0000\u0000\u1672\u1677\u0001\u0000\u0000\u0000"+
56909 "\u1673\u1671\u0001\u0000\u0000\u0000\u1674\u1675\u0005M\u0000\u0000\u1675"+
56910 "\u1676\u00057\u0000\u0000\u1676\u1678\u0005\u00fa\u0000\u0000\u1677\u1674"+
56911 "\u0001\u0000\u0000\u0000\u1677\u1678\u0001\u0000\u0000\u0000\u1678\u031f"+
56912 "\u0001\u0000\u0000\u0000\u1679\u167b\u0003\u033a\u019d\u0000\u167a\u167c"+
56913 "\u0003P(\u0000\u167b\u167a\u0001\u0000\u0000\u0000\u167b\u167c\u0001\u0000"+
56914 "\u0000\u0000\u167c\u1684\u0001\u0000\u0000\u0000\u167d\u167e\u0005%\u0000"+
56915 "\u0000\u167e\u1680\u0003\u033a\u019d\u0000\u167f\u1681\u0003P(\u0000\u1680"+
56916 "\u167f\u0001\u0000\u0000\u0000\u1680\u1681\u0001\u0000\u0000\u0000\u1681"+
56917 "\u1683\u0001\u0000\u0000\u0000\u1682\u167d\u0001\u0000\u0000\u0000\u1683"+
56918 "\u1686\u0001\u0000\u0000\u0000\u1684\u1682\u0001\u0000\u0000\u0000\u1684"+
56919 "\u1685\u0001\u0000\u0000\u0000\u1685\u0321\u0001\u0000\u0000\u0000\u1686"+
56920 "\u1684\u0001\u0000\u0000\u0000\u1687\u1688\u0003\u0378\u01bc\u0000\u1688"+
56921 "\u1689\u0005\u000e\u0000\u0000\u1689\u168a\u0005\u000e\u0000\u0000\u168a"+
56922 "\u168c\u0001\u0000\u0000\u0000\u168b\u1687\u0001\u0000\u0000\u0000\u168b"+
56923 "\u168c\u0001\u0000\u0000\u0000\u168c\u168d\u0001\u0000\u0000\u0000\u168d"+
56924 "\u168e\u0003\u0328\u0194\u0000\u168e\u0323\u0001\u0000\u0000\u0000\u168f"+
56925 "\u1694\u0003\u033a\u019d\u0000\u1690\u1691\u0005%\u0000\u0000\u1691\u1693"+
56926 "\u0003\u033a\u019d\u0000\u1692\u1690\u0001\u0000\u0000\u0000\u1693\u1696"+
56927 "\u0001\u0000\u0000\u0000\u1694\u1692\u0001\u0000\u0000\u0000\u1694\u1695"+
56928 "\u0001\u0000\u0000\u0000\u1695\u0325\u0001\u0000\u0000\u0000\u1696\u1694"+
56929 "\u0001\u0000\u0000\u0000\u1697\u1698\u0003\u037a\u01bd\u0000\u1698\u1699"+
56930 "\u0005\u000e\u0000\u0000\u1699\u169a\u0005\u000e\u0000\u0000\u169a\u169c"+
56931 "\u0001\u0000\u0000\u0000\u169b\u1697\u0001\u0000\u0000\u0000\u169b\u169c"+
56932 "\u0001\u0000\u0000\u0000\u169c\u169d\u0001\u0000\u0000\u0000\u169d\u169e"+
56933 "\u0003\u0328\u0194\u0000\u169e\u0327\u0001\u0000\u0000\u0000\u169f\u16a0"+
56934 "\u0003L&\u0000\u16a0\u16a1\u0005\u0014\u0000\u0000\u16a1\u16a3\u0001\u0000"+
56935 "\u0000\u0000\u16a2\u169f\u0001\u0000\u0000\u0000\u16a2\u16a3\u0001\u0000"+
56936 "\u0000\u0000\u16a3\u16a4\u0001\u0000\u0000\u0000\u16a4\u16a5\u0003N\'"+
56937 "\u0000\u16a5\u0329\u0001\u0000\u0000\u0000\u16a6\u16a7\u0003\u0398\u01cc"+
56938 "\u0000\u16a7\u032b\u0001\u0000\u0000\u0000\u16a8\u16ae\u00058\u0000\u0000"+
56939 "\u16a9\u16ab\u0003\u0338\u019c\u0000\u16aa\u16a9\u0001\u0000\u0000\u0000"+
56940 "\u16aa\u16ab\u0001\u0000\u0000\u0000\u16ab\u16ac\u0001\u0000\u0000\u0000"+
56941 "\u16ac\u16af\u0003\u032e\u0197\u0000\u16ad\u16af\u0003\u0330\u0198\u0000"+
56942 "\u16ae\u16aa\u0001\u0000\u0000\u0000\u16ae\u16ad\u0001\u0000\u0000\u0000"+
56943 "\u16af\u032d\u0001\u0000\u0000\u0000\u16b0\u16b3\u0003\u0320\u0190\u0000"+
56944 "\u16b1\u16b2\u0005a\u0000\u0000\u16b2\u16b4\u0003\u0322\u0191\u0000\u16b3"+
56945 "\u16b1\u0001\u0000\u0000\u0000\u16b3\u16b4\u0001\u0000\u0000\u0000\u16b4"+
56946 "\u16b5\u0001\u0000\u0000\u0000\u16b5\u16b6\u0007T\u0000\u0000\u16b6\u16bb"+
56947 "\u0003\u032a\u0195\u0000\u16b7\u16b8\u0005%\u0000\u0000\u16b8\u16ba\u0003"+
56948 "\u032a\u0195\u0000\u16b9\u16b7\u0001\u0000\u0000\u0000\u16ba\u16bd\u0001"+
56949 "\u0000\u0000\u0000\u16bb\u16b9\u0001\u0000\u0000\u0000\u16bb\u16bc\u0001"+
56950 "\u0000\u0000\u0000\u16bc\u16bf\u0001\u0000\u0000\u0000\u16bd\u16bb\u0001"+
56951 "\u0000\u0000\u0000\u16be\u16c0\u0005\u00f6\u0000\u0000\u16bf\u16be\u0001"+
56952 "\u0000\u0000\u0000\u16bf\u16c0\u0001\u0000\u0000\u0000\u16c0\u16c3\u0001"+
56953 "\u0000\u0000\u0000\u16c1\u16c2\u0005`\u0000\u0000\u16c2\u16c4\u0003\u032a"+
56954 "\u0195\u0000\u16c3\u16c1\u0001\u0000\u0000\u0000\u16c3\u16c4\u0001\u0000"+
56955 "\u0000\u0000\u16c4\u032f\u0001\u0000\u0000\u0000\u16c5\u16c8\u0003\u0324"+
56956 "\u0192\u0000\u16c6\u16c7\u0005a\u0000\u0000\u16c7\u16c9\u0003\u0326\u0193"+
56957 "\u0000\u16c8\u16c6\u0001\u0000\u0000\u0000\u16c8\u16c9\u0001\u0000\u0000"+
56958 "\u0000\u16c9\u16ca\u0001\u0000\u0000\u0000\u16ca\u16cb\u0007T\u0000\u0000"+
56959 "\u16cb\u16d0\u0003\u032a\u0195\u0000\u16cc\u16cd\u0005%\u0000\u0000\u16cd"+
56960 "\u16cf\u0003\u032a\u0195\u0000\u16ce\u16cc\u0001\u0000\u0000\u0000\u16cf"+
56961 "\u16d2\u0001\u0000\u0000\u0000\u16d0\u16ce\u0001\u0000\u0000\u0000\u16d0"+
56962 "\u16d1\u0001\u0000\u0000\u0000\u16d1\u16d4\u0001\u0000\u0000\u0000\u16d2"+
56963 "\u16d0\u0001\u0000\u0000\u0000\u16d3\u16d5\u0005\u00f6\u0000\u0000\u16d4"+
56964 "\u16d3\u0001\u0000\u0000\u0000\u16d4\u16d5\u0001\u0000\u0000\u0000\u16d5"+
56965 "\u0331\u0001\u0000\u0000\u0000\u16d6\u16d9\u0005\u0110\u0000\u0000\u16d7"+
56966 "\u16da\u0003\u0334\u019a\u0000\u16d8\u16da\u0003\u0336\u019b\u0000\u16d9"+
56967 "\u16d7\u0001\u0000\u0000\u0000\u16d9\u16d8\u0001\u0000\u0000\u0000\u16da"+
56968 "\u0333\u0001\u0000\u0000\u0000\u16db\u16de\u0003\u0320\u0190\u0000\u16dc"+
56969 "\u16dd\u0005a\u0000\u0000\u16dd\u16df\u0003\u0322\u0191\u0000\u16de\u16dc"+
56970 "\u0001\u0000\u0000\u0000\u16de\u16df\u0001\u0000\u0000\u0000\u16df\u16e0"+
56971 "\u0001\u0000\u0000\u0000\u16e0\u16e1\u0005g\u0000\u0000\u16e1\u16e6\u0003"+
56972 "\u032a\u0195\u0000\u16e2\u16e3\u0005%\u0000\u0000\u16e3\u16e5\u0003\u032a"+
56973 "\u0195\u0000\u16e4\u16e2\u0001\u0000\u0000\u0000\u16e5\u16e8\u0001\u0000"+
56974 "\u0000\u0000\u16e6\u16e4\u0001\u0000\u0000\u0000\u16e6\u16e7\u0001\u0000"+
56975 "\u0000\u0000\u16e7\u16ea\u0001\u0000\u0000\u0000\u16e8\u16e6\u0001\u0000"+
56976 "\u0000\u0000\u16e9\u16eb\u0005\u00f6\u0000\u0000\u16ea\u16e9\u0001\u0000"+
56977 "\u0000\u0000\u16ea\u16eb\u0001\u0000\u0000\u0000\u16eb\u16ee\u0001\u0000"+
56978 "\u0000\u0000\u16ec\u16ed\u0005`\u0000\u0000\u16ed\u16ef\u0003\u032a\u0195"+
56979 "\u0000\u16ee\u16ec\u0001\u0000\u0000\u0000\u16ee\u16ef\u0001\u0000\u0000"+
56980 "\u0000\u16ef\u0335\u0001\u0000\u0000\u0000\u16f0\u16f3\u0003\u0324\u0192"+
56981 "\u0000\u16f1\u16f2\u0005a\u0000\u0000\u16f2\u16f4\u0003\u0326\u0193\u0000"+
56982 "\u16f3\u16f1\u0001\u0000\u0000\u0000\u16f3\u16f4\u0001\u0000\u0000\u0000"+
56983 "\u16f4\u16f5\u0001\u0000\u0000\u0000\u16f5\u16f6\u0005g\u0000\u0000\u16f6"+
56984 "\u16fb\u0003\u032a\u0195\u0000\u16f7\u16f8\u0005%\u0000\u0000\u16f8\u16fa"+
56985 "\u0003\u032a\u0195\u0000\u16f9\u16f7\u0001\u0000\u0000\u0000\u16fa\u16fd"+
56986 "\u0001\u0000\u0000\u0000\u16fb\u16f9\u0001\u0000\u0000\u0000\u16fb\u16fc"+
56987 "\u0001\u0000\u0000\u0000\u16fc\u16ff\u0001\u0000\u0000\u0000\u16fd\u16fb"+
56988 "\u0001\u0000\u0000\u0000\u16fe\u1700\u0005\u00f6\u0000\u0000\u16ff\u16fe"+
56989 "\u0001\u0000\u0000\u0000\u16ff\u1700\u0001\u0000\u0000\u0000\u1700\u0337"+
56990 "\u0001\u0000\u0000\u0000\u1701\u1702\u00057\u0000\u0000\u1702\u1703\u0005"+
56991 "\u00fa\u0000\u0000\u1703\u1704\u0005f\u0000\u0000\u1704\u0339\u0001\u0000"+
56992 "\u0000\u0000\u1705\u1707\u0005r\u0000\u0000\u1706\u1708\u0005\u00fb\u0000"+
56993 "\u0000\u1707\u1706\u0001\u0000\u0000\u0000\u1707\u1708\u0001\u0000\u0000"+
56994 "\u0000\u1708\u171d\u0001\u0000\u0000\u0000\u1709\u171d\u0003\u0366\u01b3"+
56995 "\u0000\u170a\u171d\u0003\u0364\u01b2\u0000\u170b\u171d\u0003\u0368\u01b4"+
56996 "\u0000\u170c\u171d\u0003\u0360\u01b0\u0000\u170d\u171d\u0003\u033c\u019e"+
56997 "\u0000\u170e\u171d\u0003\u0374\u01ba\u0000\u170f\u171d\u0003\u0342\u01a1"+
56998 "\u0000\u1710\u171d\u0003\u0344\u01a2\u0000\u1711\u171d\u0003\u034c\u01a6"+
56999 "\u0000\u1712\u171d\u0003\u035e\u01af\u0000\u1713\u171d\u0003\u036a\u01b5"+
57000 "\u0000\u1714\u171d\u0003\u034e\u01a7\u0000\u1715\u171d\u0003\u0350\u01a8"+
57001 "\u0000\u1716\u171d\u0003\u033e\u019f\u0000\u1717\u171d\u0003\u0340\u01a0"+
57002 "\u0000\u1718\u171d\u0003\u0352\u01a9\u0000\u1719\u171d\u0003\u0362\u01b1"+
57003 "\u0000\u171a\u171d\u0003\u0370\u01b8\u0000\u171b\u171d\u0003\u0372\u01b9"+
57004 "\u0000\u171c\u1705\u0001\u0000\u0000\u0000\u171c\u1709\u0001\u0000\u0000"+
57005 "\u0000\u171c\u170a\u0001\u0000\u0000\u0000\u171c\u170b\u0001\u0000\u0000"+
57006 "\u0000\u171c\u170c\u0001\u0000\u0000\u0000\u171c\u170d\u0001\u0000\u0000"+
57007 "\u0000\u171c\u170e\u0001\u0000\u0000\u0000\u171c\u170f\u0001\u0000\u0000"+
57008 "\u0000\u171c\u1710\u0001\u0000\u0000\u0000\u171c\u1711\u0001\u0000\u0000"+
57009 "\u0000\u171c\u1712\u0001\u0000\u0000\u0000\u171c\u1713\u0001\u0000\u0000"+
57010 "\u0000\u171c\u1714\u0001\u0000\u0000\u0000\u171c\u1715\u0001\u0000\u0000"+
57011 "\u0000\u171c\u1716\u0001\u0000\u0000\u0000\u171c\u1717\u0001\u0000\u0000"+
57012 "\u0000\u171c\u1718\u0001\u0000\u0000\u0000\u171c\u1719\u0001\u0000\u0000"+
57013 "\u0000\u171c\u171a\u0001\u0000\u0000\u0000\u171c\u171b\u0001\u0000\u0000"+
57014 "\u0000\u171d\u033b\u0001\u0000\u0000\u0000\u171e\u172f\u00053\u0000\u0000"+
57015 "\u171f\u172f\u0005\u0144\u0000\u0000\u1720\u172f\u00051\u0000\u0000\u1721"+
57016 "\u172f\u0005\u013e\u0000\u0000\u1722\u172f\u0005/\u0000\u0000\u1723\u172f"+
57017 "\u0005\u014e\u0000\u0000\u1724\u172f\u0005\u00fc\u0000\u0000\u1725\u172f"+
57018 "\u0005.\u0000\u0000\u1726\u1727\u0005\u0146\u0000\u0000\u1727\u172f\u0005"+
57019 "\u0147\u0000\u0000\u1728\u172f\u00050\u0000\u0000\u1729\u172a\u0005J\u0000"+
57020 "\u0000\u172a\u172b\u0005\u014f\u0000\u0000\u172b\u172f\u0005\u0151\u0000"+
57021 "\u0000\u172c\u172d\u0005J\u0000\u0000\u172d\u172f\u0005\u0148\u0000\u0000"+
57022 "\u172e\u171e\u0001\u0000\u0000\u0000\u172e\u171f\u0001\u0000\u0000\u0000"+
57023 "\u172e\u1720\u0001\u0000\u0000\u0000\u172e\u1721\u0001\u0000\u0000\u0000"+
57024 "\u172e\u1722\u0001\u0000\u0000\u0000\u172e\u1723\u0001\u0000\u0000\u0000"+
57025 "\u172e\u1724\u0001\u0000\u0000\u0000\u172e\u1725\u0001\u0000\u0000\u0000"+
57026 "\u172e\u1726\u0001\u0000\u0000\u0000\u172e\u1728\u0001\u0000\u0000\u0000"+
57027 "\u172e\u1729\u0001\u0000\u0000\u0000\u172e\u172c\u0001\u0000\u0000\u0000"+
57028 "\u172f\u033d\u0001\u0000\u0000\u0000\u1730\u1731\u0005\u0163\u0000\u0000"+
57029 "\u1731\u1732\u0005\u0164\u0000\u0000\u1732\u177e\u0005\u0165\u0000\u0000"+
57030 "\u1733\u1739\u00053\u0000\u0000\u1734\u173a\u0005\u0152\u0000\u0000\u1735"+
57031 "\u173a\u0005\u0153\u0000\u0000\u1736\u173a\u0005\u0150\u0000\u0000\u1737"+
57032 "\u1738\u0005\u014d\u0000\u0000\u1738\u173a\u0005\u0154\u0000\u0000\u1739"+
57033 "\u1734\u0001\u0000\u0000\u0000\u1739\u1735\u0001\u0000\u0000\u0000\u1739"+
57034 "\u1736\u0001\u0000\u0000\u0000\u1739\u1737\u0001\u0000\u0000\u0000\u173a"+
57035 "\u177e\u0001\u0000\u0000\u0000\u173b\u173c\u00053\u0000\u0000\u173c\u174e"+
57036 "\u0005s\u0000\u0000\u173d\u173e\u0005\u0155\u0000\u0000\u173e\u174f\u0005"+
57037 "v\u0000\u0000\u173f\u174f\u0005\u0142\u0000\u0000\u1740\u174f\u0005\u0156"+
57038 "\u0000\u0000\u1741\u174f\u0005\u00cc\u0000\u0000\u1742\u174f\u0005\u0157"+
57039 "\u0000\u0000\u1743\u1744\u0005\u0158\u0000\u0000\u1744\u174f\u0005\u0159"+
57040 "\u0000\u0000\u1745\u1746\u0005\u0158\u0000\u0000\u1746\u174f\u0005\u0140"+
57041 "\u0000\u0000\u1747\u1748\u0005\u015a\u0000\u0000\u1748\u174f\u0005\u014d"+
57042 "\u0000\u0000\u1749\u174f\u0005\u0122\u0000\u0000\u174a\u174b\u0005\u014d"+
57043 "\u0000\u0000\u174b\u174f\u0005\u015b\u0000\u0000\u174c\u174d\u0005\u014d"+
57044 "\u0000\u0000\u174d\u174f\u0005\u00fe\u0000\u0000\u174e\u173d\u0001\u0000"+
57045 "\u0000\u0000\u174e\u173f\u0001\u0000\u0000\u0000\u174e\u1740\u0001\u0000"+
57046 "\u0000\u0000\u174e\u1741\u0001\u0000\u0000\u0000\u174e\u1742\u0001\u0000"+
57047 "\u0000\u0000\u174e\u1743\u0001\u0000\u0000\u0000\u174e\u1745\u0001\u0000"+
57048 "\u0000\u0000\u174e\u1747\u0001\u0000\u0000\u0000\u174e\u1749\u0001\u0000"+
57049 "\u0000\u0000\u174e\u174a\u0001\u0000\u0000\u0000\u174e\u174c\u0001\u0000"+
57050 "\u0000\u0000\u174f\u177e\u0001\u0000\u0000\u0000\u1750\u1751\u0005\u0160"+
57051 "\u0000\u0000\u1751\u177e\u0005\u014d\u0000\u0000\u1752\u1753\u0005\u0141"+
57052 "\u0000\u0000\u1753\u1754\u0005s\u0000\u0000\u1754\u177e\u0005\u00cc\u0000"+
57053 "\u0000\u1755\u1756\u0005\u0141\u0000\u0000\u1756\u177e\u0005\u00a4\u0000"+
57054 "\u0000\u1757\u1758\u0005\u0144\u0000\u0000\u1758\u177e\u0005\u014d\u0000"+
57055 "\u0000\u1759\u175a\u00052\u0000\u0000\u175a\u175b\u0005s\u0000\u0000\u175b"+
57056 "\u177e\u0005\u00cc\u0000\u0000\u175c\u1768\u00052\u0000\u0000\u175d\u175e"+
57057 "\u0005\u0155\u0000\u0000\u175e\u1769\u0005v\u0000\u0000\u175f\u1760\u0005"+
57058 "\u015c\u0000\u0000\u1760\u1761\u0005\u0158\u0000\u0000\u1761\u1769\u0005"+
57059 "\u0159\u0000\u0000\u1762\u1769\u0005\u0157\u0000\u0000\u1763\u1764\u0005"+
57060 "\u014d\u0000\u0000\u1764\u1769\u0005\u00fe\u0000\u0000\u1765\u1766\u0005"+
57061 "\u0150\u0000\u0000\u1766\u1767\u0005\u0158\u0000\u0000\u1767\u1769\u0005"+
57062 "\u0159\u0000\u0000\u1768\u175d\u0001\u0000\u0000\u0000\u1768\u175f\u0001"+
57063 "\u0000\u0000\u0000\u1768\u1762\u0001\u0000\u0000\u0000\u1768\u1763\u0001"+
57064 "\u0000\u0000\u0000\u1768\u1765\u0001\u0000\u0000\u0000\u1769\u177e\u0001"+
57065 "\u0000\u0000\u0000\u176a\u176b\u0005\u0161\u0000\u0000\u176b\u176c\u0005"+
57066 "\u0162\u0000\u0000\u176c\u177e\u0005\u014a\u0000\u0000\u176d\u176e\u0005"+
57067 "\u015e\u0000\u0000\u176e\u176f\u0005s\u0000\u0000\u176f\u177e\u0005\u0122"+
57068 "\u0000\u0000\u1770\u1771\u0005.\u0000\u0000\u1771\u1772\u0005r\u0000\u0000"+
57069 "\u1772\u1773\u0005\u00fd\u0000\u0000\u1773\u177e\u0005\u015f\u0000\u0000"+
57070 "\u1774\u177e\u0005\u0167\u0000\u0000\u1775\u1776\u0005\u0166\u0000\u0000"+
57071 "\u1776\u177e\u0005\u014a\u0000\u0000\u1777\u1778\u0005J\u0000\u0000\u1778"+
57072 "\u1779\u0005s\u0000\u0000\u1779\u177e\u0007U\u0000\u0000\u177a\u177b\u0005"+
57073 "J\u0000\u0000\u177b\u177c\u0005\u014d\u0000\u0000\u177c\u177e\u0005\u0154"+
57074 "\u0000\u0000\u177d\u1730\u0001\u0000\u0000\u0000\u177d\u1733\u0001\u0000"+
57075 "\u0000\u0000\u177d\u173b\u0001\u0000\u0000\u0000\u177d\u1750\u0001\u0000"+
57076 "\u0000\u0000\u177d\u1752\u0001\u0000\u0000\u0000\u177d\u1755\u0001\u0000"+
57077 "\u0000\u0000\u177d\u1757\u0001\u0000\u0000\u0000\u177d\u1759\u0001\u0000"+
57078 "\u0000\u0000\u177d\u175c\u0001\u0000\u0000\u0000\u177d\u176a\u0001\u0000"+
57079 "\u0000\u0000\u177d\u176d\u0001\u0000\u0000\u0000\u177d\u1770\u0001\u0000"+
57080 "\u0000\u0000\u177d\u1774\u0001\u0000\u0000\u0000\u177d\u1775\u0001\u0000"+
57081 "\u0000\u0000\u177d\u1777\u0001\u0000\u0000\u0000\u177d\u177a\u0001\u0000"+
57082 "\u0000\u0000\u177e\u033f\u0001\u0000\u0000\u0000\u177f\u1781\u0005\u0144"+
57083 "\u0000\u0000\u1780\u1782\u0005\u014d\u0000\u0000\u1781\u1780\u0001\u0000"+
57084 "\u0000\u0000\u1781\u1782\u0001\u0000\u0000\u0000\u1782\u1792\u0001\u0000"+
57085 "\u0000\u0000\u1783\u1792\u0005\u015e\u0000\u0000\u1784\u1786\u0005J\u0000"+
57086 "\u0000\u1785\u1787\u0005s\u0000\u0000\u1786\u1785\u0001\u0000\u0000\u0000"+
57087 "\u1786\u1787\u0001\u0000\u0000\u0000\u1787\u1788\u0001\u0000\u0000\u0000"+
57088 "\u1788\u1792\u0005\u0148\u0000\u0000\u1789\u1792\u00053\u0000\u0000\u178a"+
57089 "\u178b\u00053\u0000\u0000\u178b\u178f\u0005s\u0000\u0000\u178c\u1790\u0005"+
57090 "\u0122\u0000\u0000\u178d\u178e\u0005\u014d\u0000\u0000\u178e\u1790\u0005"+
57091 "\u00fe\u0000\u0000\u178f\u178c\u0001\u0000\u0000\u0000\u178f\u178d\u0001"+
57092 "\u0000\u0000\u0000\u1790\u1792\u0001\u0000\u0000\u0000\u1791\u177f\u0001"+
57093 "\u0000\u0000\u0000\u1791\u1783\u0001\u0000\u0000\u0000\u1791\u1784\u0001"+
57094 "\u0000\u0000\u0000\u1791\u1789\u0001\u0000\u0000\u0000\u1791\u178a\u0001"+
57095 "\u0000\u0000\u0000\u1792\u0341\u0001\u0000\u0000\u0000\u1793\u1794\u0005"+
57096 "\u0163\u0000\u0000\u1794\u1795\u0005\u00cc\u0000\u0000\u1795\u1796\u0005"+
57097 "\u0164\u0000\u0000\u1796\u183b\u0005\u0165\u0000\u0000\u1797\u183b\u0005"+
57098 "3\u0000\u0000\u1798\u1799\u00053\u0000\u0000\u1799\u183b\u0005\u0150\u0000"+
57099 "\u0000\u179a\u179b\u00053\u0000\u0000\u179b\u17d5\u0005s\u0000\u0000\u179c"+
57100 "\u179d\u0005\u0149\u0000\u0000\u179d\u17d6\u0005\u00fe\u0000\u0000\u179e"+
57101 "\u17d6\u0005\u014a\u0000\u0000\u179f\u17a4\u0005\u014b\u0000\u0000\u17a0"+
57102 "\u17a4\u0005\u014c\u0000\u0000\u17a1\u17a2\u0005<\u0000\u0000\u17a2\u17a4"+
57103 "\u0005\u016e\u0000\u0000\u17a3\u179f\u0001\u0000\u0000\u0000\u17a3\u17a0"+
57104 "\u0001\u0000\u0000\u0000\u17a3\u17a1\u0001\u0000\u0000\u0000\u17a4\u17a5"+
57105 "\u0001\u0000\u0000\u0000\u17a5\u17d6\u0005C\u0000\u0000\u17a6\u17d6\u0005"+
57106 "\u016c\u0000\u0000\u17a7\u17d6\u0005\u0142\u0000\u0000\u17a8\u17a9\u0005"+
57107 "<\u0000\u0000\u17a9\u17aa\u0005\u016f\u0000\u0000\u17aa\u17ab\u0005C\u0000"+
57108 "\u0000\u17ab\u17d6\u0005\u0148\u0000\u0000\u17ac\u17d6\u0005\u016d\u0000"+
57109 "\u0000\u17ad\u17b7\u0005\u00cc\u0000\u0000\u17ae\u17b8\u0005\u015b\u0000"+
57110 "\u0000\u17af\u17b0\u0005\u015c\u0000\u0000\u17b0\u17b8\u0005G\u0000\u0000"+
57111 "\u17b1\u17b2\u0005\u0158\u0000\u0000\u17b2\u17b8\u0005\u0159\u0000\u0000"+
57112 "\u17b3\u17b4\u0005\u0158\u0000\u0000\u17b4\u17b8\u0005\u0140\u0000\u0000"+
57113 "\u17b5\u17b6\u0005\u0168\u0000\u0000\u17b6\u17b8\u0005\u0169\u0000\u0000"+
57114 "\u17b7\u17ae\u0001\u0000\u0000\u0000\u17b7\u17af\u0001\u0000\u0000\u0000"+
57115 "\u17b7\u17b1\u0001\u0000\u0000\u0000\u17b7\u17b3\u0001\u0000\u0000\u0000"+
57116 "\u17b7\u17b5\u0001\u0000\u0000\u0000\u17b7\u17b8\u0001\u0000\u0000\u0000"+
57117 "\u17b8\u17d6\u0001\u0000\u0000\u0000\u17b9\u17d6\u0005\u016a\u0000\u0000"+
57118 "\u17ba\u17bb\u0005\u0158\u0000\u0000\u17bb\u17d6\u0007V\u0000\u0000\u17bc"+
57119 "\u17c2\u0005\u0161\u0000\u0000\u17bd\u17be\u0005\u0170\u0000\u0000\u17be"+
57120 "\u17c3\u0005\u0171\u0000\u0000\u17bf\u17c0\u0005\u0172\u0000\u0000\u17c0"+
57121 "\u17c3\u0005\u0173\u0000\u0000\u17c1\u17c3\u0005\u0174\u0000\u0000\u17c2"+
57122 "\u17bd\u0001\u0000\u0000\u0000\u17c2\u17bf\u0001\u0000\u0000\u0000\u17c2"+
57123 "\u17c1\u0001\u0000\u0000\u0000\u17c3\u17d6\u0001\u0000\u0000\u0000\u17c4"+
57124 "\u17c5\u0005\u0175\u0000\u0000\u17c5\u17d6\u0005\u0143\u0000\u0000\u17c6"+
57125 "\u17d6\u0005\u0176\u0000\u0000\u17c7\u17c8\u0005\u0178\u0000\u0000\u17c8"+
57126 "\u17d6\u0005\u00b0\u0000\u0000\u17c9\u17ca\u0005\u0179\u0000\u0000\u17ca"+
57127 "\u17cb\u0005\u016b\u0000\u0000\u17cb\u17d6\u0005\u017a\u0000\u0000\u17cc"+
57128 "\u17d6\u0005\u00fe\u0000\u0000\u17cd\u17d6\u0005\u017b\u0000\u0000\u17ce"+
57129 "\u17cf\u0005\u014d\u0000\u0000\u17cf\u17d6\u0005\u015b\u0000\u0000\u17d0"+
57130 "\u17d6\u00056\u0000\u0000\u17d1\u17d2\u0005\u017c\u0000\u0000\u17d2\u17d6"+
57131 "\u0005\u017d\u0000\u0000\u17d3\u17d6\u0005\u016b\u0000\u0000\u17d4\u17d6"+
57132 "\u0005\u00fd\u0000\u0000\u17d5\u179c\u0001\u0000\u0000\u0000\u17d5\u179e"+
57133 "\u0001\u0000\u0000\u0000\u17d5\u17a3\u0001\u0000\u0000\u0000\u17d5\u17a6"+
57134 "\u0001\u0000\u0000\u0000\u17d5\u17a7\u0001\u0000\u0000\u0000\u17d5\u17a8"+
57135 "\u0001\u0000\u0000\u0000\u17d5\u17ac\u0001\u0000\u0000\u0000\u17d5\u17ad"+
57136 "\u0001\u0000\u0000\u0000\u17d5\u17b9\u0001\u0000\u0000\u0000\u17d5\u17ba"+
57137 "\u0001\u0000\u0000\u0000\u17d5\u17bc\u0001\u0000\u0000\u0000\u17d5\u17c4"+
57138 "\u0001\u0000\u0000\u0000\u17d5\u17c6\u0001\u0000\u0000\u0000\u17d5\u17c7"+
57139 "\u0001\u0000\u0000\u0000\u17d5\u17c9\u0001\u0000\u0000\u0000\u17d5\u17cc"+
57140 "\u0001\u0000\u0000\u0000\u17d5\u17cd\u0001\u0000\u0000\u0000\u17d5\u17ce"+
57141 "\u0001\u0000\u0000\u0000\u17d5\u17d0\u0001\u0000\u0000\u0000\u17d5\u17d1"+
57142 "\u0001\u0000\u0000\u0000\u17d5\u17d3\u0001\u0000\u0000\u0000\u17d5\u17d4"+
57143 "\u0001\u0000\u0000\u0000\u17d6\u183b\u0001\u0000\u0000\u0000\u17d7\u17d9"+
57144 "\u0005\u0160\u0000\u0000\u17d8\u17da\u0005\u014d\u0000\u0000\u17d9\u17d8"+
57145 "\u0001\u0000\u0000\u0000\u17d9\u17da\u0001\u0000\u0000\u0000\u17da\u183b"+
57146 "\u0001\u0000\u0000\u0000\u17db\u17dc\u0005\u0185\u0000\u0000\u17dc\u183b"+
57147 "\u0007W\u0000\u0000\u17dd\u183b\u0005\u018b\u0000\u0000\u17de\u183b\u0005"+
57148 "\u0141\u0000\u0000\u17df\u17e1\u0005\u0141\u0000\u0000\u17e0\u17e2\u0005"+
57149 "\u0134\u0000\u0000\u17e1\u17e0\u0001\u0000\u0000\u0000\u17e1\u17e2\u0001"+
57150 "\u0000\u0000\u0000\u17e2\u183b\u0001\u0000\u0000\u0000\u17e3\u17e5\u0005"+
57151 "\u0144\u0000\u0000\u17e4\u17e6\u0005\u014d\u0000\u0000\u17e5\u17e4\u0001"+
57152 "\u0000\u0000\u0000\u17e5\u17e6\u0001\u0000\u0000\u0000\u17e6\u183b\u0001"+
57153 "\u0000\u0000\u0000\u17e7\u180c\u00052\u0000\u0000\u17e8\u180d\u0005\u017e"+
57154 "\u0000\u0000\u17e9\u180d\u0005\u014a\u0000\u0000\u17ea\u17eb\u0007X\u0000"+
57155 "\u0000\u17eb\u180d\u0005C\u0000\u0000\u17ec\u180d\u0005\u016c\u0000\u0000"+
57156 "\u17ed\u180d\u0005\u016d\u0000\u0000\u17ee\u180d\u0005\u00cc\u0000\u0000"+
57157 "\u17ef\u17f1\u0005\u00cc\u0000\u0000\u17f0\u17ef\u0001\u0000\u0000\u0000"+
57158 "\u17f0\u17f1\u0001\u0000\u0000\u0000\u17f1\u17f2\u0001\u0000\u0000\u0000"+
57159 "\u17f2\u17f3\u0005\u015c\u0000\u0000\u17f3\u17f4\u0005\u0158\u0000\u0000"+
57160 "\u17f4\u180d\u0005\u0159\u0000\u0000\u17f5\u180d\u0005\u009a\u0000\u0000"+
57161 "\u17f6\u17f7\u0005\u0175\u0000\u0000\u17f7\u180d\u0005\u0143\u0000\u0000"+
57162 "\u17f8\u180d\u0005F\u0000\u0000\u17f9\u17fa\u0005\u0178\u0000\u0000\u17fa"+
57163 "\u180d\u0005\u00b0\u0000\u0000\u17fb\u180d\u0005H\u0000\u0000\u17fc\u180d"+
57164 "\u0005\u017f\u0000\u0000\u17fd\u17fe\u0005\u0179\u0000\u0000\u17fe\u17ff"+
57165 "\u0005\u016b\u0000\u0000\u17ff\u180d\u0005\u017a\u0000\u0000\u1800\u180d"+
57166 "\u0005\u00fe\u0000\u0000\u1801\u180d\u0005\u017b\u0000\u0000\u1802\u180d"+
57167 "\u0005\u0180\u0000\u0000\u1803\u180d\u00056\u0000\u0000\u1804\u180d\u0005"+
57168 "\u016b\u0000\u0000\u1805\u180d\u0005\u0181\u0000\u0000\u1806\u180d\u0005"+
57169 ";\u0000\u0000\u1807\u180d\u0005\u00b0\u0000\u0000\u1808\u180d\u0005J\u0000"+
57170 "\u0000\u1809\u180a\u0005\u015d\u0000\u0000\u180a\u180b\u00056\u0000\u0000"+
57171 "\u180b\u180d\u0005\u0182\u0000\u0000\u180c\u17e8\u0001\u0000\u0000\u0000"+
57172 "\u180c\u17e9\u0001\u0000\u0000\u0000\u180c\u17ea\u0001\u0000\u0000\u0000"+
57173 "\u180c\u17ec\u0001\u0000\u0000\u0000\u180c\u17ed\u0001\u0000\u0000\u0000"+
57174 "\u180c\u17ee\u0001\u0000\u0000\u0000\u180c\u17f0\u0001\u0000\u0000\u0000"+
57175 "\u180c\u17f5\u0001\u0000\u0000\u0000\u180c\u17f6\u0001\u0000\u0000\u0000"+
57176 "\u180c\u17f8\u0001\u0000\u0000\u0000\u180c\u17f9\u0001\u0000\u0000\u0000"+
57177 "\u180c\u17fb\u0001\u0000\u0000\u0000\u180c\u17fc\u0001\u0000\u0000\u0000"+
57178 "\u180c\u17fd\u0001\u0000\u0000\u0000\u180c\u1800\u0001\u0000\u0000\u0000"+
57179 "\u180c\u1801\u0001\u0000\u0000\u0000\u180c\u1802\u0001\u0000\u0000\u0000"+
57180 "\u180c\u1803\u0001\u0000\u0000\u0000\u180c\u1804\u0001\u0000\u0000\u0000"+
57181 "\u180c\u1805\u0001\u0000\u0000\u0000\u180c\u1806\u0001\u0000\u0000\u0000"+
57182 "\u180c\u1807\u0001\u0000\u0000\u0000\u180c\u1808\u0001\u0000\u0000\u0000"+
57183 "\u180c\u1809\u0001\u0000\u0000\u0000\u180d\u183b\u0001\u0000\u0000\u0000"+
57184 "\u180e\u183b\u00051\u0000\u0000\u180f\u183b\u0005\u013e\u0000\u0000\u1810"+
57185 "\u1812\u0005\u013e\u0000\u0000\u1811\u1813\u0005s\u0000\u0000\u1812\u1811"+
57186 "\u0001\u0000\u0000\u0000\u1812\u1813\u0001\u0000\u0000\u0000\u1813\u1814"+
57187 "\u0001\u0000\u0000\u0000\u1814\u1815\u0005\u0161\u0000\u0000\u1815\u183b"+
57188 "\u0005\u0183\u0000\u0000\u1816\u183b\u0005/\u0000\u0000\u1817\u1818\u0005"+
57189 "\u0184\u0000\u0000\u1818\u1819\u0005\u00cc\u0000\u0000\u1819\u183b\u0005"+
57190 "\u0142\u0000\u0000\u181a\u183b\u0005\u00fc\u0000\u0000\u181b\u183b\u0005"+
57191 ".\u0000\u0000\u181c\u183b\u0005\u0187\u0000\u0000\u181d\u181e\u0005\u0188"+
57192 "\u0000\u0000\u181e\u181f\u0005\u0189\u0000\u0000\u181f\u183b\u0005\u018a"+
57193 "\u0000\u0000\u1820\u1821\u0005\u0146\u0000\u0000\u1821\u183b\u0005\u0147"+
57194 "\u0000\u0000\u1822\u183b\u0005\u0177\u0000\u0000\u1823\u183b\u00050\u0000"+
57195 "\u0000\u1824\u1825\u0005J\u0000\u0000\u1825\u1826\u0005s\u0000\u0000\u1826"+
57196 "\u1827\u0005<\u0000\u0000\u1827\u1828\u0007Y\u0000\u0000\u1828\u1829\u0005"+
57197 "C\u0000\u0000\u1829\u183b\u0005\u0148\u0000\u0000\u182a\u182b\u00052\u0000"+
57198 "\u0000\u182b\u182f\u0005s\u0000\u0000\u182c\u1830\u0005\u00cc\u0000\u0000"+
57199 "\u182d\u182e\u0005\u0161\u0000\u0000\u182e\u1830\u0005\u0174\u0000\u0000"+
57200 "\u182f\u182c\u0001\u0000\u0000\u0000\u182f\u182d\u0001\u0000\u0000\u0000"+
57201 "\u1830\u183b\u0001\u0000\u0000\u0000\u1831\u1832\u0005J\u0000\u0000\u1832"+
57202 "\u1833\u0007Z\u0000\u0000\u1833\u183b\u0005\u0154\u0000\u0000\u1834\u1836"+
57203 "\u0005J\u0000\u0000\u1835\u1837\u0005s\u0000\u0000\u1836\u1835\u0001\u0000"+
57204 "\u0000\u0000\u1836\u1837\u0001\u0000\u0000\u0000\u1837\u1838\u0001\u0000"+
57205 "\u0000\u0000\u1838\u183b\u0005\u0148\u0000\u0000\u1839\u183b\u0001\u0000"+
57206 "\u0000\u0000\u183a\u1793\u0001\u0000\u0000\u0000\u183a\u1797\u0001\u0000"+
57207 "\u0000\u0000\u183a\u1798\u0001\u0000\u0000\u0000\u183a\u179a\u0001\u0000"+
57208 "\u0000\u0000\u183a\u17d7\u0001\u0000\u0000\u0000\u183a\u17db\u0001\u0000"+
57209 "\u0000\u0000\u183a\u17dd\u0001\u0000\u0000\u0000\u183a\u17de\u0001\u0000"+
57210 "\u0000\u0000\u183a\u17df\u0001\u0000\u0000\u0000\u183a\u17e3\u0001\u0000"+
57211 "\u0000\u0000\u183a\u17e7\u0001\u0000\u0000\u0000\u183a\u180e\u0001\u0000"+
57212 "\u0000\u0000\u183a\u180f\u0001\u0000\u0000\u0000\u183a\u1810\u0001\u0000"+
57213 "\u0000\u0000\u183a\u1816\u0001\u0000\u0000\u0000\u183a\u1817\u0001\u0000"+
57214 "\u0000\u0000\u183a\u181a\u0001\u0000\u0000\u0000\u183a\u181b\u0001\u0000"+
57215 "\u0000\u0000\u183a\u181c\u0001\u0000\u0000\u0000\u183a\u181d\u0001\u0000"+
57216 "\u0000\u0000\u183a\u1820\u0001\u0000\u0000\u0000\u183a\u1822\u0001\u0000"+
57217 "\u0000\u0000\u183a\u1823\u0001\u0000\u0000\u0000\u183a\u1824\u0001\u0000"+
57218 "\u0000\u0000\u183a\u182a\u0001\u0000\u0000\u0000\u183a\u1831\u0001\u0000"+
57219 "\u0000\u0000\u183a\u1834\u0001\u0000\u0000\u0000\u183a\u1839\u0001\u0000"+
57220 "\u0000\u0000\u183b\u0343\u0001\u0000\u0000\u0000\u183c\u1840\u0003\u0346"+
57221 "\u01a3\u0000\u183d\u1840\u0003\u0348\u01a4\u0000\u183e\u1840\u0003\u034a"+
57222 "\u01a5\u0000\u183f\u183c\u0001\u0000\u0000\u0000\u183f\u183d\u0001\u0000"+
57223 "\u0000\u0000\u183f\u183e\u0001\u0000\u0000\u0000\u1840\u0345\u0001\u0000"+
57224 "\u0000\u0000\u1841\u184a\u0005\u0144\u0000\u0000\u1842\u184a\u0005\u015e"+
57225 "\u0000\u0000\u1843\u184a\u00053\u0000\u0000\u1844\u1845\u0005J\u0000\u0000"+
57226 "\u1845\u184a\u0005\u0148\u0000\u0000\u1846\u1847\u00053\u0000\u0000\u1847"+
57227 "\u1848\u0005s\u0000\u0000\u1848\u184a\u0005\u00fd\u0000\u0000\u1849\u1841"+
57228 "\u0001\u0000\u0000\u0000\u1849\u1842\u0001\u0000\u0000\u0000\u1849\u1843"+
57229 "\u0001\u0000\u0000\u0000\u1849\u1844\u0001\u0000\u0000\u0000\u1849\u1846"+
57230 "\u0001\u0000\u0000\u0000\u184a\u0347\u0001\u0000\u0000\u0000\u184b\u1855"+
57231 "\u0005\u0144\u0000\u0000\u184c\u184d\u0005\u0146\u0000\u0000\u184d\u1855"+
57232 "\u0005\u0147\u0000\u0000\u184e\u1855\u00053\u0000\u0000\u184f\u1850\u0005"+
57233 "J\u0000\u0000\u1850\u1855\u0005\u0148\u0000\u0000\u1851\u1852\u00053\u0000"+
57234 "\u0000\u1852\u1853\u0005s\u0000\u0000\u1853\u1855\u0005\u00fe\u0000\u0000"+
57235 "\u1854\u184b\u0001\u0000\u0000\u0000\u1854\u184c\u0001\u0000\u0000\u0000"+
57236 "\u1854\u184e\u0001\u0000\u0000\u0000\u1854\u184f\u0001\u0000\u0000\u0000"+
57237 "\u1854\u1851\u0001\u0000\u0000\u0000\u1855\u0349\u0001\u0000\u0000\u0000"+
57238 "\u1856\u185f\u0005\u0144\u0000\u0000\u1857\u185f\u00053\u0000\u0000\u1858"+
57239 "\u1859\u0005J\u0000\u0000\u1859\u185f\u0005\u0148\u0000\u0000\u185a\u185b"+
57240 "\u00053\u0000\u0000\u185b\u185c\u0005s\u0000\u0000\u185c\u185d\u0005\u0149"+
57241 "\u0000\u0000\u185d\u185f\u0005\u00fe\u0000\u0000\u185e\u1856\u0001\u0000"+
57242 "\u0000\u0000\u185e\u1857\u0001\u0000\u0000\u0000\u185e\u1858\u0001\u0000"+
57243 "\u0000\u0000\u185e\u185a\u0001\u0000\u0000\u0000\u185f\u034b\u0001\u0000"+
57244 "\u0000\u0000\u1860\u1868\u0005\u0144\u0000\u0000\u1861\u1862\u0005\u0146"+
57245 "\u0000\u0000\u1862\u1868\u0005\u0147\u0000\u0000\u1863\u1868\u00053\u0000"+
57246 "\u0000\u1864\u1868\u0005\u00fc\u0000\u0000\u1865\u1866\u0005J\u0000\u0000"+
57247 "\u1866\u1868\u0005\u0148\u0000\u0000\u1867\u1860\u0001\u0000\u0000\u0000"+
57248 "\u1867\u1861\u0001\u0000\u0000\u0000\u1867\u1863\u0001\u0000\u0000\u0000"+
57249 "\u1867\u1864\u0001\u0000\u0000\u0000\u1867\u1865\u0001\u0000\u0000\u0000"+
57250 "\u1868\u034d\u0001\u0000\u0000\u0000\u1869\u187e\u00053\u0000\u0000\u186a"+
57251 "\u187e\u0005\u0144\u0000\u0000\u186b\u186c\u00052\u0000\u0000\u186c\u187e"+
57252 "\u0005\u018c\u0000\u0000\u186d\u187e\u00051\u0000\u0000\u186e\u187e\u0005"+
57253 "\u013e\u0000\u0000\u186f\u187e\u0005/\u0000\u0000\u1870\u187e\u0005\u00fc"+
57254 "\u0000\u0000\u1871\u187e\u0005.\u0000\u0000\u1872\u1873\u0005\u0146\u0000"+
57255 "\u0000\u1873\u187e\u0005\u0147\u0000\u0000\u1874\u187e\u00050\u0000\u0000"+
57256 "\u1875\u1876\u0005J\u0000\u0000\u1876\u1877\u0005\u014f\u0000\u0000\u1877"+
57257 "\u187e\u0005\u0151\u0000\u0000\u1878\u1879\u0005J\u0000\u0000\u1879\u187e"+
57258 "\u0005\u0148\u0000\u0000\u187a\u187b\u00053\u0000\u0000\u187b\u187c\u0005"+
57259 "s\u0000\u0000\u187c\u187e\u00056\u0000\u0000\u187d\u1869\u0001\u0000\u0000"+
57260 "\u0000\u187d\u186a\u0001\u0000\u0000\u0000\u187d\u186b\u0001\u0000\u0000"+
57261 "\u0000\u187d\u186d\u0001\u0000\u0000\u0000\u187d\u186e\u0001\u0000\u0000"+
57262 "\u0000\u187d\u186f\u0001\u0000\u0000\u0000\u187d\u1870\u0001\u0000\u0000"+
57263 "\u0000\u187d\u1871\u0001\u0000\u0000\u0000\u187d\u1872\u0001\u0000\u0000"+
57264 "\u0000\u187d\u1874\u0001\u0000\u0000\u0000\u187d\u1875\u0001\u0000\u0000"+
57265 "\u0000\u187d\u1878\u0001\u0000\u0000\u0000\u187d\u187a\u0001\u0000\u0000"+
57266 "\u0000\u187e\u034f\u0001\u0000\u0000\u0000\u187f\u188b\u00053\u0000\u0000"+
57267 "\u1880\u188b\u0005\u0144\u0000\u0000\u1881\u188b\u0005\u00fc\u0000\u0000"+
57268 "\u1882\u1883\u0005\u0146\u0000\u0000\u1883\u188b\u0005\u0147\u0000\u0000"+
57269 "\u1884\u1885\u0005J\u0000\u0000\u1885\u188b\u0005\u0148\u0000\u0000\u1886"+
57270 "\u1887\u00053\u0000\u0000\u1887\u1888\u0005s\u0000\u0000\u1888\u1889\u0005"+
57271 "\u0175\u0000\u0000\u1889\u188b\u0005\u0143\u0000\u0000\u188a\u187f\u0001"+
57272 "\u0000\u0000\u0000\u188a\u1880\u0001\u0000\u0000\u0000\u188a\u1881\u0001"+
57273 "\u0000\u0000\u0000\u188a\u1882\u0001\u0000\u0000\u0000\u188a\u1884\u0001"+
57274 "\u0000\u0000\u0000\u188a\u1886\u0001\u0000\u0000\u0000\u188b\u0351\u0001"+
57275 "\u0000\u0000\u0000\u188c\u1892\u0003\u0354\u01aa\u0000\u188d\u1892\u0003"+
57276 "\u0356\u01ab\u0000\u188e\u1892\u0003\u0358\u01ac\u0000\u188f\u1892\u0003"+
57277 "\u035a\u01ad\u0000\u1890\u1892\u0003\u035c\u01ae\u0000\u1891\u188c\u0001"+
57278 "\u0000\u0000\u0000\u1891\u188d\u0001\u0000\u0000\u0000\u1891\u188e\u0001"+
57279 "\u0000\u0000\u0000\u1891\u188f\u0001\u0000\u0000\u0000\u1891\u1890\u0001"+
57280 "\u0000\u0000\u0000\u1892\u0353\u0001\u0000\u0000\u0000\u1893\u189e\u0005"+
57281 "\u0144\u0000\u0000\u1894\u1895\u0005\u0146\u0000\u0000\u1895\u189e\u0005"+
57282 "\u0147\u0000\u0000\u1896\u189e\u00053\u0000\u0000\u1897\u189e\u0005\u00fc"+
57283 "\u0000\u0000\u1898\u1899\u0005J\u0000\u0000\u1899\u189e\u0005\u0148\u0000"+
57284 "\u0000\u189a\u189b\u00053\u0000\u0000\u189b\u189c\u0005s\u0000\u0000\u189c"+
57285 "\u189e\u0005\u016d\u0000\u0000\u189d\u1893\u0001\u0000\u0000\u0000\u189d"+
57286 "\u1894\u0001\u0000\u0000\u0000\u189d\u1896\u0001\u0000\u0000\u0000\u189d"+
57287 "\u1897\u0001\u0000\u0000\u0000\u189d\u1898\u0001\u0000\u0000\u0000\u189d"+
57288 "\u189a\u0001\u0000\u0000\u0000\u189e\u0355\u0001\u0000\u0000\u0000\u189f"+
57289 "\u18ab\u0005\u0144\u0000\u0000\u18a0\u18a1\u0005\u0146\u0000\u0000\u18a1"+
57290 "\u18ab\u0005\u0147\u0000\u0000\u18a2\u18ab\u00053\u0000\u0000\u18a3\u18ab"+
57291 "\u0005\u00fc\u0000\u0000\u18a4\u18a5\u0005J\u0000\u0000\u18a5\u18ab\u0005"+
57292 "\u0148\u0000\u0000\u18a6\u18a7\u00053\u0000\u0000\u18a7\u18a8\u0005s\u0000"+
57293 "\u0000\u18a8\u18a9\u0005\u0178\u0000\u0000\u18a9\u18ab\u0005\u00b0\u0000"+
57294 "\u0000\u18aa\u189f\u0001\u0000\u0000\u0000\u18aa\u18a0\u0001\u0000\u0000"+
57295 "\u0000\u18aa\u18a2\u0001\u0000\u0000\u0000\u18aa\u18a3\u0001\u0000\u0000"+
57296 "\u0000\u18aa\u18a4\u0001\u0000\u0000\u0000\u18aa\u18a6\u0001\u0000\u0000"+
57297 "\u0000\u18ab\u0357\u0001\u0000\u0000\u0000\u18ac\u18b8\u0005\u0144\u0000"+
57298 "\u0000\u18ad\u18ae\u0005\u0146\u0000\u0000\u18ae\u18b8\u0005\u0147\u0000"+
57299 "\u0000\u18af\u18b8\u00053\u0000\u0000\u18b0\u18b1\u0005J\u0000\u0000\u18b1"+
57300 "\u18b8\u0005\u0148\u0000\u0000\u18b2\u18b3\u00053\u0000\u0000\u18b3\u18b4"+
57301 "\u0005s\u0000\u0000\u18b4\u18b5\u0005\u0179\u0000\u0000\u18b5\u18b6\u0005"+
57302 "\u016b\u0000\u0000\u18b6\u18b8\u0005\u017a\u0000\u0000\u18b7\u18ac\u0001"+
57303 "\u0000\u0000\u0000\u18b7\u18ad\u0001\u0000\u0000\u0000\u18b7\u18af\u0001"+
57304 "\u0000\u0000\u0000\u18b7\u18b0\u0001\u0000\u0000\u0000\u18b7\u18b2\u0001"+
57305 "\u0000\u0000\u0000\u18b8\u0359\u0001\u0000\u0000\u0000\u18b9\u18c3\u0005"+
57306 "\u0144\u0000\u0000\u18ba\u18bb\u0005\u0146\u0000\u0000\u18bb\u18c3\u0005"+
57307 "\u0147\u0000\u0000\u18bc\u18c3\u00053\u0000\u0000\u18bd\u18be\u0005J\u0000"+
57308 "\u0000\u18be\u18c3\u0005\u0148\u0000\u0000\u18bf\u18c0\u00053\u0000\u0000"+
57309 "\u18c0\u18c1\u0005s\u0000\u0000\u18c1\u18c3\u0005\u017b\u0000\u0000\u18c2"+
57310 "\u18b9\u0001\u0000\u0000\u0000\u18c2\u18ba\u0001\u0000\u0000\u0000\u18c2"+
57311 "\u18bc\u0001\u0000\u0000\u0000\u18c2\u18bd\u0001\u0000\u0000\u0000\u18c2"+
57312 "\u18bf\u0001\u0000\u0000\u0000\u18c3\u035b\u0001\u0000\u0000\u0000\u18c4"+
57313 "\u18cf\u0005\u0144\u0000\u0000\u18c5\u18c6\u0005\u0146\u0000\u0000\u18c6"+
57314 "\u18cf\u0005\u0147\u0000\u0000\u18c7\u18cf\u0005\u02a5\u0000\u0000\u18c8"+
57315 "\u18cf\u00053\u0000\u0000\u18c9\u18ca\u0005J\u0000\u0000\u18ca\u18cf\u0005"+
57316 "\u0148\u0000\u0000\u18cb\u18cc\u00053\u0000\u0000\u18cc\u18cd\u0005s\u0000"+
57317 "\u0000\u18cd\u18cf\u0005\u016b\u0000\u0000\u18ce\u18c4\u0001\u0000\u0000"+
57318 "\u0000\u18ce\u18c5\u0001\u0000\u0000\u0000\u18ce\u18c7\u0001\u0000\u0000"+
57319 "\u0000\u18ce\u18c8\u0001\u0000\u0000\u0000\u18ce\u18c9\u0001\u0000\u0000"+
57320 "\u0000\u18ce\u18cb\u0001\u0000\u0000\u0000\u18cf\u035d\u0001\u0000\u0000"+
57321 "\u0000\u18d0\u18e1\u00053\u0000\u0000\u18d1\u18e1\u0005\u0141\u0000\u0000"+
57322 "\u18d2\u18d4\u0005\u0144\u0000\u0000\u18d3\u18d5\u0005\u014d\u0000\u0000"+
57323 "\u18d4\u18d3\u0001\u0000\u0000\u0000\u18d4\u18d5\u0001\u0000\u0000\u0000"+
57324 "\u18d5\u18e1\u0001\u0000\u0000\u0000\u18d6\u18d7\u0005\u0146\u0000\u0000"+
57325 "\u18d7\u18e1\u0005\u0147\u0000\u0000\u18d8\u18da\u0005J\u0000\u0000\u18d9"+
57326 "\u18db\u0005s\u0000\u0000\u18da\u18d9\u0001\u0000\u0000\u0000\u18da\u18db"+
57327 "\u0001\u0000\u0000\u0000\u18db\u18dc\u0001\u0000\u0000\u0000\u18dc\u18e1"+
57328 "\u0005\u0148\u0000\u0000\u18dd\u18de\u00053\u0000\u0000\u18de\u18df\u0005"+
57329 "s\u0000\u0000\u18df\u18e1\u0005\u0157\u0000\u0000\u18e0\u18d0\u0001\u0000"+
57330 "\u0000\u0000\u18e0\u18d1\u0001\u0000\u0000\u0000\u18e0\u18d2\u0001\u0000"+
57331 "\u0000\u0000\u18e0\u18d6\u0001\u0000\u0000\u0000\u18e0\u18d8\u0001\u0000"+
57332 "\u0000\u0000\u18e0\u18dd\u0001\u0000\u0000\u0000\u18e1\u035f\u0001\u0000"+
57333 "\u0000\u0000\u18e2\u18ed\u0005\u0144\u0000\u0000\u18e3\u18e4\u0005\u0146"+
57334 "\u0000\u0000\u18e4\u18ed\u0005\u0147\u0000\u0000\u18e5\u18ed\u00053\u0000"+
57335 "\u0000\u18e6\u18ed\u0005\u00fc\u0000\u0000\u18e7\u18e8\u0005J\u0000\u0000"+
57336 "\u18e8\u18ed\u0005\u0148\u0000\u0000\u18e9\u18ea\u00053\u0000\u0000\u18ea"+
57337 "\u18eb\u0005s\u0000\u0000\u18eb\u18ed\u0005\u016c\u0000\u0000\u18ec\u18e2"+
57338 "\u0001\u0000\u0000\u0000\u18ec\u18e3\u0001\u0000\u0000\u0000\u18ec\u18e5"+
57339 "\u0001\u0000\u0000\u0000\u18ec\u18e6\u0001\u0000\u0000\u0000\u18ec\u18e7"+
57340 "\u0001\u0000\u0000\u0000\u18ec\u18e9\u0001\u0000\u0000\u0000\u18ed\u0361"+
57341 "\u0001\u0000\u0000\u0000\u18ee\u18fa\u00053\u0000\u0000\u18ef\u18fa\u0005"+
57342 "\u0144\u0000\u0000\u18f0\u18fa\u0005\u00fc\u0000\u0000\u18f1\u18f2\u0005"+
57343 "\u0146\u0000\u0000\u18f2\u18fa\u0005\u0147\u0000\u0000\u18f3\u18f4\u0005"+
57344 "J\u0000\u0000\u18f4\u18fa\u0005\u0148\u0000\u0000\u18f5\u18f6\u00053\u0000"+
57345 "\u0000\u18f6\u18f7\u0005s\u0000\u0000\u18f7\u18f8\u0005\u014b\u0000\u0000"+
57346 "\u18f8\u18fa\u0005C\u0000\u0000\u18f9\u18ee\u0001\u0000\u0000\u0000\u18f9"+
57347 "\u18ef\u0001\u0000\u0000\u0000\u18f9\u18f0\u0001\u0000\u0000\u0000\u18f9"+
57348 "\u18f1\u0001\u0000\u0000\u0000\u18f9\u18f3\u0001\u0000\u0000\u0000\u18f9"+
57349 "\u18f5\u0001\u0000\u0000\u0000\u18fa\u0363\u0001\u0000\u0000\u0000\u18fb"+
57350 "\u1907\u0005\u0144\u0000\u0000\u18fc\u18fd\u0005\u0146\u0000\u0000\u18fd"+
57351 "\u1907\u0005\u0147\u0000\u0000\u18fe\u1907\u00053\u0000\u0000\u18ff\u1907"+
57352 "\u0005\u00fc\u0000\u0000\u1900\u1901\u0005J\u0000\u0000\u1901\u1907\u0005"+
57353 "\u0148\u0000\u0000\u1902\u1903\u00053\u0000\u0000\u1903\u1904\u0005s\u0000"+
57354 "\u0000\u1904\u1905\u0005\u014c\u0000\u0000\u1905\u1907\u0005C\u0000\u0000"+
57355 "\u1906\u18fb\u0001\u0000\u0000\u0000\u1906\u18fc\u0001\u0000\u0000\u0000"+
57356 "\u1906\u18fe\u0001\u0000\u0000\u0000\u1906\u18ff\u0001\u0000\u0000\u0000"+
57357 "\u1906\u1900\u0001\u0000\u0000\u0000\u1906\u1902\u0001\u0000\u0000\u0000"+
57358 "\u1907\u0365\u0001\u0000\u0000\u0000\u1908\u1913\u0005\u0144\u0000\u0000"+
57359 "\u1909\u190a\u0005\u0146\u0000\u0000\u190a\u1913\u0005\u0147\u0000\u0000"+
57360 "\u190b\u1913\u00053\u0000\u0000\u190c\u1913\u0005\u00fc\u0000\u0000\u190d"+
57361 "\u190e\u0005J\u0000\u0000\u190e\u1913\u0005\u0148\u0000\u0000\u190f\u1910"+
57362 "\u00053\u0000\u0000\u1910\u1911\u0005s\u0000\u0000\u1911\u1913\u0005\u014a"+
57363 "\u0000\u0000\u1912\u1908\u0001\u0000\u0000\u0000\u1912\u1909\u0001\u0000"+
57364 "\u0000\u0000\u1912\u190b\u0001\u0000\u0000\u0000\u1912\u190c\u0001\u0000"+
57365 "\u0000\u0000\u1912\u190d\u0001\u0000\u0000\u0000\u1912\u190f\u0001\u0000"+
57366 "\u0000\u0000\u1913\u0367\u0001\u0000\u0000\u0000\u1914\u1926\u00053\u0000"+
57367 "\u0000\u1915\u1926\u0005\u0141\u0000\u0000\u1916\u1918\u0005\u0144\u0000"+
57368 "\u0000\u1917\u1919\u0005\u014d\u0000\u0000\u1918\u1917\u0001\u0000\u0000"+
57369 "\u0000\u1918\u1919\u0001\u0000\u0000\u0000\u1919\u1926\u0001\u0000\u0000"+
57370 "\u0000\u191a\u191b\u0005\u0146\u0000\u0000\u191b\u1926\u0005\u0147\u0000"+
57371 "\u0000\u191c\u191e\u0005J\u0000\u0000\u191d\u191f\u0005s\u0000\u0000\u191e"+
57372 "\u191d\u0001\u0000\u0000\u0000\u191e\u191f\u0001\u0000\u0000\u0000\u191f"+
57373 "\u1920\u0001\u0000\u0000\u0000\u1920\u1926\u0005\u0148\u0000\u0000\u1921"+
57374 "\u1922\u00053\u0000\u0000\u1922\u1923\u0005s\u0000\u0000\u1923\u1924\u0005"+
57375 "\u0155\u0000\u0000\u1924\u1926\u0005v\u0000\u0000\u1925\u1914\u0001\u0000"+
57376 "\u0000\u0000\u1925\u1915\u0001\u0000\u0000\u0000\u1925\u1916\u0001\u0000"+
57377 "\u0000\u0000\u1925\u191a\u0001\u0000\u0000\u0000\u1925\u191c\u0001\u0000"+
57378 "\u0000\u0000\u1925\u1921\u0001\u0000\u0000\u0000\u1926\u0369\u0001\u0000"+
57379 "\u0000\u0000\u1927\u192a\u0003\u036c\u01b6\u0000\u1928\u192a\u0003\u036e"+
57380 "\u01b7\u0000\u1929\u1927\u0001\u0000\u0000\u0000\u1929\u1928\u0001\u0000"+
57381 "\u0000\u0000\u192a\u036b\u0001\u0000\u0000\u0000\u192b\u1937\u0005\u0144"+
57382 "\u0000\u0000\u192c\u192d\u0005\u0146\u0000\u0000\u192d\u1937\u0005\u0147"+
57383 "\u0000\u0000\u192e\u1937\u00053\u0000\u0000\u192f\u1937\u0005\u00fc\u0000"+
57384 "\u0000\u1930\u1931\u0005J\u0000\u0000\u1931\u1937\u0005\u0148\u0000\u0000"+
57385 "\u1932\u1933\u00053\u0000\u0000\u1933\u1934\u0005s\u0000\u0000\u1934\u1935"+
57386 "\u0005\u0175\u0000\u0000\u1935\u1937\u0005\u0143\u0000\u0000\u1936\u192b"+
57387 "\u0001\u0000\u0000\u0000\u1936\u192c\u0001\u0000\u0000\u0000\u1936\u192e"+
57388 "\u0001\u0000\u0000\u0000\u1936\u192f\u0001\u0000\u0000\u0000\u1936\u1930"+
57389 "\u0001\u0000\u0000\u0000\u1936\u1932\u0001\u0000\u0000\u0000\u1937\u036d"+
57390 "\u0001\u0000\u0000\u0000\u1938\u1944\u00053\u0000\u0000\u1939\u1944\u0005"+
57391 "\u0144\u0000\u0000\u193a\u1944\u0005\u00fc\u0000\u0000\u193b\u193c\u0005"+
57392 "\u0146\u0000\u0000\u193c\u1944\u0005\u0147\u0000\u0000\u193d\u193e\u0005"+
57393 "J\u0000\u0000\u193e\u1944\u0005\u0148\u0000\u0000\u193f\u1940\u00053\u0000"+
57394 "\u0000\u1940\u1941\u0005s\u0000\u0000\u1941\u1942\u0005\u0175\u0000\u0000"+
57395 "\u1942\u1944\u0005\u0143\u0000\u0000\u1943\u1938\u0001\u0000\u0000\u0000"+
57396 "\u1943\u1939\u0001\u0000\u0000\u0000\u1943\u193a\u0001\u0000\u0000\u0000"+
57397 "\u1943\u193b\u0001\u0000\u0000\u0000\u1943\u193d\u0001\u0000\u0000\u0000"+
57398 "\u1943\u193f\u0001\u0000\u0000\u0000\u1944\u036f\u0001\u0000\u0000\u0000"+
57399 "\u1945\u194d\u0005\u0144\u0000\u0000\u1946\u194d\u0005\u013e\u0000\u0000"+
57400 "\u1947\u194d\u0005\u00fc\u0000\u0000\u1948\u1949\u0005\u0146\u0000\u0000"+
57401 "\u1949\u194d\u0005\u0147\u0000\u0000\u194a\u194b\u0005J\u0000\u0000\u194b"+
57402 "\u194d\u0005\u0148\u0000\u0000\u194c\u1945\u0001\u0000\u0000\u0000\u194c"+
57403 "\u1946\u0001\u0000\u0000\u0000\u194c\u1947\u0001\u0000\u0000\u0000\u194c"+
57404 "\u1948\u0001\u0000\u0000\u0000\u194c\u194a\u0001\u0000\u0000\u0000\u194d"+
57405 "\u0371\u0001\u0000\u0000\u0000\u194e\u1957\u00053\u0000\u0000\u194f\u1957"+
57406 "\u0005\u0144\u0000\u0000\u1950\u1957\u0005\u013e\u0000\u0000\u1951\u1957"+
57407 "\u0005\u00fc\u0000\u0000\u1952\u1953\u0005\u0146\u0000\u0000\u1953\u1957"+
57408 "\u0005\u0147\u0000\u0000\u1954\u1955\u0005J\u0000\u0000\u1955\u1957\u0005"+
57409 "\u0148\u0000\u0000\u1956\u194e\u0001\u0000\u0000\u0000\u1956\u194f\u0001"+
57410 "\u0000\u0000\u0000\u1956\u1950\u0001\u0000\u0000\u0000\u1956\u1951\u0001"+
57411 "\u0000\u0000\u0000\u1956\u1952\u0001\u0000\u0000\u0000\u1956\u1954\u0001"+
57412 "\u0000\u0000\u0000\u1957\u0373\u0001\u0000\u0000\u0000\u1958\u1959\u0007"+
57413 "[\u0000\u0000\u1959\u0375\u0001\u0000\u0000\u0000\u195a\u195b\u0005\u02c8"+
57414 "\u0000\u0000\u195b\u195c\u0005\u000e\u0000\u0000\u195c\u195d\u0005\u000e"+
57415 "\u0000\u0000\u195d\u0377\u0001\u0000\u0000\u0000\u195e\u1987\u0005\u014a"+
57416 "\u0000\u0000\u195f\u1960\u0005\u014c\u0000\u0000\u1960\u1987\u0005C\u0000"+
57417 "\u0000\u1961\u1962\u0005\u0155\u0000\u0000\u1962\u1987\u0005v\u0000\u0000"+
57418 "\u1963\u1987\u0005\u016c\u0000\u0000\u1964\u1987\u0005\u00fd\u0000\u0000"+
57419 "\u1965\u1987\u0005\u00fe\u0000\u0000\u1966\u1967\u0005\u0149\u0000\u0000"+
57420 "\u1967\u1987\u0005\u00fe\u0000\u0000\u1968\u1969\u0005\u00cc\u0000\u0000"+
57421 "\u1969\u196a\u0005\u0168\u0000\u0000\u196a\u1987\u0005\u0156\u0000\u0000"+
57422 "\u196b\u1987\u0005\u0157\u0000\u0000\u196c\u196d\u0005\u0175\u0000\u0000"+
57423 "\u196d\u1987\u0007\\\u0000\u0000\u196e\u1987\u0005\u0128\u0000\u0000\u196f"+
57424 "\u1987\u00056\u0000\u0000\u1970\u1971\u0005\u02a2\u0000\u0000\u1971\u1972"+
57425 "\u0005\u02a3\u0000\u0000\u1972\u1987\u0005\u02a4\u0000\u0000\u1973\u1987"+
57426 "\u0005\u0122\u0000\u0000\u1974\u1975\u0005\u014d\u0000\u0000\u1975\u1987"+
57427 "\u0005\u00fe\u0000\u0000\u1976\u1987\u0005\u016d\u0000\u0000\u1977\u1978"+
57428 "\u0005\u0178\u0000\u0000\u1978\u1987\u0005\u00b0\u0000\u0000\u1979\u197a"+
57429 "\u0005\u0179\u0000\u0000\u197a\u197b\u0005\u016b\u0000\u0000\u197b\u1987"+
57430 "\u0005\u017a\u0000\u0000\u197c\u1987\u0005\u017b\u0000\u0000\u197d\u1987"+
57431 "\u0005\u016b\u0000\u0000\u197e\u197f\u0005\u014b\u0000\u0000\u197f\u1987"+
57432 "\u0005C\u0000\u0000\u1980\u1987\u0005.\u0000\u0000\u1981\u1987\u0005\u013e"+
57433 "\u0000\u0000\u1982\u1987\u0005\u00b0\u0000\u0000\u1983\u1984\u0005\u015d"+
57434 "\u0000\u0000\u1984\u1985\u00056\u0000\u0000\u1985\u1987\u0005\u0182\u0000"+
57435 "\u0000\u1986\u195e\u0001\u0000\u0000\u0000\u1986\u195f\u0001\u0000\u0000"+
57436 "\u0000\u1986\u1961\u0001\u0000\u0000\u0000\u1986\u1963\u0001\u0000\u0000"+
57437 "\u0000\u1986\u1964\u0001\u0000\u0000\u0000\u1986\u1965\u0001\u0000\u0000"+
57438 "\u0000\u1986\u1966\u0001\u0000\u0000\u0000\u1986\u1968\u0001\u0000\u0000"+
57439 "\u0000\u1986\u196b\u0001\u0000\u0000\u0000\u1986\u196c\u0001\u0000\u0000"+
57440 "\u0000\u1986\u196e\u0001\u0000\u0000\u0000\u1986\u196f\u0001\u0000\u0000"+
57441 "\u0000\u1986\u1970\u0001\u0000\u0000\u0000\u1986\u1973\u0001\u0000\u0000"+
57442 "\u0000\u1986\u1974\u0001\u0000\u0000\u0000\u1986\u1976\u0001\u0000\u0000"+
57443 "\u0000\u1986\u1977\u0001\u0000\u0000\u0000\u1986\u1979\u0001\u0000\u0000"+
57444 "\u0000\u1986\u197c\u0001\u0000\u0000\u0000\u1986\u197d\u0001\u0000\u0000"+
57445 "\u0000\u1986\u197e\u0001\u0000\u0000\u0000\u1986\u1980\u0001\u0000\u0000"+
57446 "\u0000\u1986\u1981\u0001\u0000\u0000\u0000\u1986\u1982\u0001\u0000\u0000"+
57447 "\u0000\u1986\u1983\u0001\u0000\u0000\u0000\u1987\u0379\u0001\u0000\u0000"+
57448 "\u0000\u1988\u1989\u0007]\u0000\u0000\u1989\u037b\u0001\u0000\u0000\u0000"+
57449 "\u198a\u198b\u0003\u00d6k\u0000\u198b\u037d\u0001\u0000\u0000\u0000\u198c"+
57450 "\u1992\u0005\u0298\u0000\u0000\u198d\u1990\u0003\u001c\u000e\u0000\u198e"+
57451 "\u198f\u0005M\u0000\u0000\u198f\u1991\u0005\u0299\u0000\u0000\u1990\u198e"+
57452 "\u0001\u0000\u0000\u0000\u1990\u1991\u0001\u0000\u0000\u0000\u1991\u1993"+
57453 "\u0001\u0000\u0000\u0000\u1992\u198d\u0001\u0000\u0000\u0000\u1992\u1993"+
57454 "\u0001\u0000\u0000\u0000\u1993\u037f\u0001\u0000\u0000\u0000\u1994\u1995"+
57455 "\u00052\u0000\u0000\u1995\u199e\u0005\u00fd\u0000\u0000\u1996\u199f\u0003"+
57456 "\u0382\u01c1\u0000\u1997\u199f\u0003\u0384\u01c2\u0000\u1998\u199f\u0003"+
57457 "\u0386\u01c3\u0000\u1999\u199f\u0003\u0388\u01c4\u0000\u199a\u199f\u0003"+
57458 "\u038e\u01c7\u0000\u199b\u199f\u0003\u0390\u01c8\u0000\u199c\u199f\u0003"+
57459 "\u0392\u01c9\u0000\u199d\u199f\u0003\u0398\u01cc\u0000\u199e\u1996\u0001"+
57460 "\u0000\u0000\u0000\u199e\u1997\u0001\u0000\u0000\u0000\u199e\u1998\u0001"+
57461 "\u0000\u0000\u0000\u199e\u1999\u0001\u0000\u0000\u0000\u199e\u199a\u0001"+
57462 "\u0000\u0000\u0000\u199e\u199b\u0001\u0000\u0000\u0000\u199e\u199c\u0001"+
57463 "\u0000\u0000\u0000\u199e\u199d\u0001\u0000\u0000\u0000\u199e\u199f\u0001"+
57464 "\u0000\u0000\u0000\u199f\u0381\u0001\u0000\u0000\u0000\u19a0\u19a4\u0003"+
57465 "\u0398\u01cc\u0000\u19a1\u19a2\u0007^\u0000\u0000\u19a2\u19a3\u0005\u0122"+
57466 "\u0000\u0000\u19a3\u19a5\u0003*\u0015\u0000\u19a4\u19a1\u0001\u0000\u0000"+
57467 "\u0000\u19a4\u19a5\u0001\u0000\u0000\u0000\u19a5\u19af\u0001\u0000\u0000"+
57468 "\u0000\u19a6\u19a7\u0005M\u0000\u0000\u19a7\u19ac\u0003\u038c\u01c6\u0000"+
57469 "\u19a8\u19a9\u0005%\u0000\u0000\u19a9\u19ab\u0003\u038c\u01c6\u0000\u19aa"+
57470 "\u19a8\u0001\u0000\u0000\u0000\u19ab\u19ae\u0001\u0000\u0000\u0000\u19ac"+
57471 "\u19aa\u0001\u0000\u0000\u0000\u19ac\u19ad\u0001\u0000\u0000\u0000\u19ad"+
57472 "\u19b0\u0001\u0000\u0000\u0000\u19ae\u19ac\u0001\u0000\u0000\u0000\u19af"+
57473 "\u19a6\u0001\u0000\u0000\u0000\u19af\u19b0\u0001\u0000\u0000\u0000\u19b0"+
57474 "\u0383\u0001\u0000\u0000\u0000\u19b1\u19bb\u0003\u0394\u01ca\u0000\u19b2"+
57475 "\u19b3\u0005M\u0000\u0000\u19b3\u19b8\u0003\u038a\u01c5\u0000\u19b4\u19b5"+
57476 "\u0005%\u0000\u0000\u19b5\u19b7\u0003\u038a\u01c5\u0000\u19b6\u19b4\u0001"+
57477 "\u0000\u0000\u0000\u19b7\u19ba\u0001\u0000\u0000\u0000\u19b8\u19b6\u0001"+
57478 "\u0000\u0000\u0000\u19b8\u19b9\u0001\u0000\u0000\u0000\u19b9\u19bc\u0001"+
57479 "\u0000\u0000\u0000\u19ba\u19b8\u0001\u0000\u0000\u0000\u19bb\u19b2\u0001"+
57480 "\u0000\u0000\u0000\u19bb\u19bc\u0001\u0000\u0000\u0000\u19bc\u19d3\u0001"+
57481 "\u0000\u0000\u0000\u19bd\u19be\u0003\u0398\u01cc\u0000\u19be\u19bf\u0005"+
57482 "M\u0000\u0000\u19bf\u19c0\u0005\u00d5\u0000\u0000\u19c0\u19c1\u0005\u0018"+
57483 "\u0000\u0000\u19c1\u19cb\u0003\u001c\u000e\u0000\u19c2\u19c3\u0005%\u0000"+
57484 "\u0000\u19c3\u19c8\u0003\u038a\u01c5\u0000\u19c4\u19c5\u0005%\u0000\u0000"+
57485 "\u19c5\u19c7\u0003\u038a\u01c5\u0000\u19c6\u19c4\u0001\u0000\u0000\u0000"+
57486 "\u19c7\u19ca\u0001\u0000\u0000\u0000\u19c8\u19c6\u0001\u0000\u0000\u0000"+
57487 "\u19c8\u19c9\u0001\u0000\u0000\u0000\u19c9\u19cc\u0001\u0000\u0000\u0000"+
57488 "\u19ca\u19c8\u0001\u0000\u0000\u0000\u19cb\u19c2\u0001\u0000\u0000\u0000"+
57489 "\u19cb\u19cc\u0001\u0000\u0000\u0000\u19cc\u19d3\u0001\u0000\u0000\u0000"+
57490 "\u19cd\u19ce\u0003\u0396\u01cb\u0000\u19ce\u19cf\u0005U\u0000\u0000\u19cf"+
57491 "\u19d0\u0005\u0161\u0000\u0000\u19d0\u19d1\u0005\u029d\u0000\u0000\u19d1"+
57492 "\u19d3\u0001\u0000\u0000\u0000\u19d2\u19b1\u0001\u0000\u0000\u0000\u19d2"+
57493 "\u19bd\u0001\u0000\u0000\u0000\u19d2\u19cd\u0001\u0000\u0000\u0000\u19d3"+
57494 "\u0385\u0001\u0000\u0000\u0000\u19d4\u19d8\u0003\u0394\u01ca\u0000\u19d5"+
57495 "\u19d6\u0007^\u0000\u0000\u19d6\u19d7\u0005\u0122\u0000\u0000\u19d7\u19d9"+
57496 "\u0003\u0394\u01ca\u0000\u19d8\u19d5\u0001\u0000\u0000\u0000\u19d8\u19d9"+
57497 "\u0001\u0000\u0000\u0000\u19d9\u19e0\u0001\u0000\u0000\u0000\u19da\u19db"+
57498 "\u0003\u0398\u01cc\u0000\u19db\u19dc\u0007^\u0000\u0000\u19dc\u19dd\u0005"+
57499 "\u0122\u0000\u0000\u19dd\u19de\u0003\u0394\u01ca\u0000\u19de\u19e0\u0001"+
57500 "\u0000\u0000\u0000\u19df\u19d4\u0001\u0000\u0000\u0000\u19df\u19da\u0001"+
57501 "\u0000\u0000\u0000\u19e0\u19ea\u0001\u0000\u0000\u0000\u19e1\u19e2\u0005"+
57502 "M\u0000\u0000\u19e2\u19e7\u0003\u038c\u01c6\u0000\u19e3\u19e4\u0005%\u0000"+
57503 "\u0000\u19e4\u19e6\u0003\u038c\u01c6\u0000\u19e5\u19e3\u0001\u0000\u0000"+
57504 "\u0000\u19e6\u19e9\u0001\u0000\u0000\u0000\u19e7\u19e5\u0001\u0000\u0000"+
57505 "\u0000\u19e7\u19e8\u0001\u0000\u0000\u0000\u19e8\u19eb\u0001\u0000\u0000"+
57506 "\u0000\u19e9\u19e7\u0001\u0000\u0000\u0000\u19ea\u19e1\u0001\u0000\u0000"+
57507 "\u0000\u19ea\u19eb\u0001\u0000\u0000\u0000\u19eb\u0387\u0001\u0000\u0000"+
57508 "\u0000\u19ec\u1a01\u0003\u0398\u01cc\u0000\u19ed\u19ee\u0005\u00d6\u0000"+
57509 "\u0000\u19ee\u19f8\u0005\u0122\u0000\u0000\u19ef\u19f0\u0005M\u0000\u0000"+
57510 "\u19f0\u19f5\u0003\u038c\u01c6\u0000\u19f1\u19f2\u0005%\u0000\u0000\u19f2"+
57511 "\u19f4\u0003\u038c\u01c6\u0000\u19f3\u19f1\u0001\u0000\u0000\u0000\u19f4"+
57512 "\u19f7\u0001\u0000\u0000\u0000\u19f5\u19f3\u0001\u0000\u0000\u0000\u19f5"+
57513 "\u19f6\u0001\u0000\u0000\u0000\u19f6\u19f9\u0001\u0000\u0000\u0000\u19f7"+
57514 "\u19f5\u0001\u0000\u0000\u0000\u19f8\u19ef\u0001\u0000\u0000\u0000\u19f8"+
57515 "\u19f9\u0001\u0000\u0000\u0000\u19f9\u1a02\u0001\u0000\u0000\u0000\u19fa"+
57516 "\u19fb\u0007^\u0000\u0000\u19fb\u19fc\u0005\u016c\u0000\u0000\u19fc\u1a02"+
57517 "\u0003*\u0015\u0000\u19fd\u19fe\u0007^\u0000\u0000\u19fe\u19ff\u0005\u014c"+
57518 "\u0000\u0000\u19ff\u1a00\u0005C\u0000\u0000\u1a00\u1a02\u0003*\u0015\u0000"+
57519 "\u1a01\u19ed\u0001\u0000\u0000\u0000\u1a01\u19fa\u0001\u0000\u0000\u0000"+
57520 "\u1a01\u19fd\u0001\u0000\u0000\u0000\u1a02\u0389\u0001\u0000\u0000\u0000"+
57521 "\u1a03\u1a04\u0005\u029a\u0000\u0000\u1a04\u1a05\u0005\u0018\u0000\u0000"+
57522 "\u1a05\u1a15\u00034\u001a\u0000\u1a06\u1a07\u0005\u028a\u0000\u0000\u1a07"+
57523 "\u1a0a\u0005\u0018\u0000\u0000\u1a08\u1a0b\u0005\u0127\u0000\u0000\u1a09"+
57524 "\u1a0b\u0003*\u0015\u0000\u1a0a\u1a08\u0001\u0000\u0000\u0000\u1a0a\u1a09"+
57525 "\u0001\u0000\u0000\u0000\u1a0b\u1a15\u0001\u0000\u0000\u0000\u1a0c\u1a0d"+
57526 "\u0005\u029e\u0000\u0000\u1a0d\u1a0e\u0005\u0018\u0000\u0000\u1a0e\u1a15"+
57527 "\u0003\u03b2\u01d9\u0000\u1a0f\u1a10\u0005\u029b\u0000\u0000\u1a10\u1a12"+
57528 "\u0005\u0018\u0000\u0000\u1a11\u1a13\u0007\u0000\u0000\u0000\u1a12\u1a11"+
57529 "\u0001\u0000\u0000\u0000\u1a12\u1a13\u0001\u0000\u0000\u0000\u1a13\u1a15"+
57530 "\u0001\u0000\u0000\u0000\u1a14\u1a03\u0001\u0000\u0000\u0000\u1a14\u1a06"+
57531 "\u0001\u0000\u0000\u0000\u1a14\u1a0c\u0001\u0000\u0000\u0000\u1a14\u1a0f"+
57532 "\u0001\u0000\u0000\u0000\u1a15\u038b\u0001\u0000\u0000\u0000\u1a16\u1a17"+
57533 "\u0005\u029a\u0000\u0000\u1a17\u1a18\u0005\u0018\u0000\u0000\u1a18\u1a25"+
57534 "\u00034\u001a\u0000\u1a19\u1a1a\u0005\u028a\u0000\u0000\u1a1a\u1a1d\u0005"+
57535 "\u0018\u0000\u0000\u1a1b\u1a1e\u0005\u0127\u0000\u0000\u1a1c\u1a1e\u0003"+
57536 "*\u0015\u0000\u1a1d\u1a1b\u0001\u0000\u0000\u0000\u1a1d\u1a1c\u0001\u0000"+
57537 "\u0000\u0000\u1a1e\u1a25\u0001\u0000\u0000\u0000\u1a1f\u1a20\u0005\u029b"+
57538 "\u0000\u0000\u1a20\u1a22\u0005\u0018\u0000\u0000\u1a21\u1a23\u0007\u0000"+
57539 "\u0000\u0000\u1a22\u1a21\u0001\u0000\u0000\u0000\u1a22\u1a23\u0001\u0000"+
57540 "\u0000\u0000\u1a23\u1a25\u0001\u0000\u0000\u0000\u1a24\u1a16\u0001\u0000"+
57541 "\u0000\u0000\u1a24\u1a19\u0001\u0000\u0000\u0000\u1a24\u1a1f\u0001\u0000"+
57542 "\u0000\u0000\u1a25\u038d\u0001\u0000\u0000\u0000\u1a26\u1a2a\u0003\u0398"+
57543 "\u01cc\u0000\u1a27\u1a28\u0007^\u0000\u0000\u1a28\u1a29\u0005\u0122\u0000"+
57544 "\u0000\u1a29\u1a2b\u0003*\u0015\u0000\u1a2a\u1a27\u0001\u0000\u0000\u0000"+
57545 "\u1a2a\u1a2b\u0001\u0000\u0000\u0000\u1a2b\u1a3b\u0001\u0000\u0000\u0000"+
57546 "\u1a2c\u1a2d\u0005U\u0000\u0000\u1a2d\u1a2e\u0005\u0161\u0000\u0000\u1a2e"+
57547 "\u1a38\u0005\u029d\u0000\u0000\u1a2f\u1a30\u0005M\u0000\u0000\u1a30\u1a35"+
57548 "\u0003\u038c\u01c6\u0000\u1a31\u1a32\u0005%\u0000\u0000\u1a32\u1a34\u0003"+
57549 "\u038c\u01c6\u0000\u1a33\u1a31\u0001\u0000\u0000\u0000\u1a34\u1a37\u0001"+
57550 "\u0000\u0000\u0000\u1a35\u1a33\u0001\u0000\u0000\u0000\u1a35\u1a36\u0001"+
57551 "\u0000\u0000\u0000\u1a36\u1a39\u0001\u0000\u0000\u0000\u1a37\u1a35\u0001"+
57552 "\u0000\u0000\u0000\u1a38\u1a2f\u0001\u0000\u0000\u0000\u1a38\u1a39\u0001"+
57553 "\u0000\u0000\u0000\u1a39\u1a3b\u0001\u0000\u0000\u0000\u1a3a\u1a26\u0001"+
57554 "\u0000\u0000\u0000\u1a3a\u1a2c\u0001\u0000\u0000\u0000\u1a3b\u038f\u0001"+
57555 "\u0000\u0000\u0000\u1a3c\u1a42\u0003\u0398\u01cc\u0000\u1a3d\u1a3e\u0007"+
57556 "^\u0000\u0000\u1a3e\u1a3f\u0005\u0122\u0000\u0000\u1a3f\u1a43\u0003*\u0015"+
57557 "\u0000\u1a40\u1a41\u0005\u00d6\u0000\u0000\u1a41\u1a43\u0005\u0122\u0000"+
57558 "\u0000\u1a42\u1a3d\u0001\u0000\u0000\u0000\u1a42\u1a40\u0001\u0000\u0000"+
57559 "\u0000\u1a42\u1a43\u0001\u0000\u0000\u0000\u1a43\u1a48\u0001\u0000\u0000"+
57560 "\u0000\u1a44\u1a45\u0005M\u0000\u0000\u1a45\u1a46\u0005\u029a\u0000\u0000"+
57561 "\u1a46\u1a47\u0005\u0018\u0000\u0000\u1a47\u1a49\u00034\u001a\u0000\u1a48"+
57562 "\u1a44\u0001\u0000\u0000\u0000\u1a48\u1a49\u0001\u0000\u0000\u0000\u1a49"+
57563 "\u0391\u0001\u0000\u0000\u0000\u1a4a\u1a4b\u0003\u0396\u01cb\u0000\u1a4b"+
57564 "\u1a4c\u0005U\u0000\u0000\u1a4c\u1a4d\u0005\u0161\u0000\u0000\u1a4d\u1a52"+
57565 "\u0005\u029d\u0000\u0000\u1a4e\u1a4f\u0005M\u0000\u0000\u1a4f\u1a50\u0005"+
57566 "\u029a\u0000\u0000\u1a50\u1a51\u0005\u0018\u0000\u0000\u1a51\u1a53\u0003"+
57567 "4\u001a\u0000\u1a52\u1a4e\u0001\u0000\u0000\u0000\u1a52\u1a53\u0001\u0000"+
57568 "\u0000\u0000\u1a53\u0393\u0001\u0000\u0000\u0000\u1a54\u1a55\u0003\u0398"+
57569 "\u01cc\u0000\u1a55\u0395\u0001\u0000\u0000\u0000\u1a56\u1a57\u0003\u0398"+
57570 "\u01cc\u0000\u1a57\u0397\u0001\u0000\u0000\u0000\u1a58\u1a59\u0003\u039a"+
57571 "\u01cd\u0000\u1a59\u0399\u0001\u0000\u0000\u0000\u1a5a\u1a5d\u0003*\u0015"+
57572 "\u0000\u1a5b\u1a5c\u0005\u0014\u0000\u0000\u1a5c\u1a5e\u0003*\u0015\u0000"+
57573 "\u1a5d\u1a5b\u0001\u0000\u0000\u0000\u1a5d\u1a5e\u0001\u0000\u0000\u0000"+
57574 "\u1a5e\u039b\u0001\u0000\u0000\u0000\u1a5f\u1a60\u00054\u0000\u0000\u1a60"+
57575 "\u1a62\u0005\u00fd\u0000\u0000\u1a61\u1a63\u0003\u00e8t\u0000\u1a62\u1a61"+
57576 "\u0001\u0000\u0000\u0000\u1a62\u1a63\u0001\u0000\u0000\u0000\u1a63\u1a64"+
57577 "\u0001\u0000\u0000\u0000\u1a64\u1a65\u0003\u0398\u01cc\u0000\u1a65\u039d"+
57578 "\u0001\u0000\u0000\u0000\u1a66\u1a67\u00053\u0000\u0000\u1a67\u1a68\u0005"+
57579 "\u00fd\u0000\u0000\u1a68\u1a75\u0003\u0398\u01cc\u0000\u1a69\u1a6a\u0005"+
57580 "M\u0000\u0000\u1a6a\u1a6f\u0003\u03a0\u01d0\u0000\u1a6b\u1a6c\u0005%\u0000"+
57581 "\u0000\u1a6c\u1a6e\u0003\u03a0\u01d0\u0000\u1a6d\u1a6b\u0001\u0000\u0000"+
57582 "\u0000\u1a6e\u1a71\u0001\u0000\u0000\u0000\u1a6f\u1a6d\u0001\u0000\u0000"+
57583 "\u0000\u1a6f\u1a70\u0001\u0000\u0000\u0000\u1a70\u1a76\u0001\u0000\u0000"+
57584 "\u0000\u1a71\u1a6f\u0001\u0000\u0000\u0000\u1a72\u1a73\u0005U\u0000\u0000"+
57585 "\u1a73\u1a74\u0005\u0161\u0000\u0000\u1a74\u1a76\u0005\u029d\u0000\u0000"+
57586 "\u1a75\u1a69\u0001\u0000\u0000\u0000\u1a75\u1a72\u0001\u0000\u0000\u0000"+
57587 "\u1a76\u039f\u0001\u0000\u0000\u0000\u1a77\u1a78\u0005\u00aa\u0000\u0000"+
57588 "\u1a78\u1a79\u0005\u0018\u0000\u0000\u1a79\u1a97\u0003\u0398\u01cc\u0000"+
57589 "\u1a7a\u1a7b\u0005\u029a\u0000\u0000\u1a7b\u1a7e\u0005\u0018\u0000\u0000"+
57590 "\u1a7c\u1a7f\u00034\u001a\u0000\u1a7d\u1a7f\u0005l\u0000\u0000\u1a7e\u1a7c"+
57591 "\u0001\u0000\u0000\u0000\u1a7e\u1a7d\u0001\u0000\u0000\u0000\u1a7f\u1a97"+
57592 "\u0001\u0000\u0000\u0000\u1a80\u1a81\u0005\u0122\u0000\u0000\u1a81\u1a82"+
57593 "\u0005\u0018\u0000\u0000\u1a82\u1a97\u0003*\u0015\u0000\u1a83\u1a84\u0005"+
57594 "\u00d5\u0000\u0000\u1a84\u1a85\u0005\u0018\u0000\u0000\u1a85\u1a89\u0003"+
57595 "\u001c\u000e\u0000\u1a86\u1a87\u0005\u029c\u0000\u0000\u1a87\u1a88\u0005"+
57596 "\u0018\u0000\u0000\u1a88\u1a8a\u0003\u001c\u000e\u0000\u1a89\u1a86\u0001"+
57597 "\u0000\u0000\u0000\u1a89\u1a8a\u0001\u0000\u0000\u0000\u1a8a\u1a97\u0001"+
57598 "\u0000\u0000\u0000\u1a8b\u1a8c\u0005\u028a\u0000\u0000\u1a8c\u1a8f\u0005"+
57599 "\u0018\u0000\u0000\u1a8d\u1a90\u0005\u0127\u0000\u0000\u1a8e\u1a90\u0003"+
57600 "*\u0015\u0000\u1a8f\u1a8d\u0001\u0000\u0000\u0000\u1a8f\u1a8e\u0001\u0000"+
57601 "\u0000\u0000\u1a90\u1a97\u0001\u0000\u0000\u0000\u1a91\u1a92\u0005\u029b"+
57602 "\u0000\u0000\u1a92\u1a94\u0005\u0018\u0000\u0000\u1a93\u1a95\u0007\u0000"+
57603 "\u0000\u0000\u1a94\u1a93\u0001\u0000\u0000\u0000\u1a94\u1a95\u0001\u0000"+
57604 "\u0000\u0000\u1a95\u1a97\u0001\u0000\u0000\u0000\u1a96\u1a77\u0001\u0000"+
57605 "\u0000\u0000\u1a96\u1a7a\u0001\u0000\u0000\u0000\u1a96\u1a80\u0001\u0000"+
57606 "\u0000\u0000\u1a96\u1a83\u0001\u0000\u0000\u0000\u1a96\u1a8b\u0001\u0000"+
57607 "\u0000\u0000\u1a96\u1a91\u0001\u0000\u0000\u0000\u1a97\u03a1\u0001\u0000"+
57608 "\u0000\u0000\u1a98\u1a99\u00052\u0000\u0000\u1a99\u1a9a\u0005\u00fe\u0000"+
57609 "\u0000\u1a9a\u1a9d\u0003N\'\u0000\u1a9b\u1a9c\u0005\u0293\u0000\u0000"+
57610 "\u1a9c\u1a9e\u0003N\'\u0000\u1a9d\u1a9b\u0001\u0000\u0000\u0000\u1a9d"+
57611 "\u1a9e\u0001\u0000\u0000\u0000\u1a9e\u03a3\u0001\u0000\u0000\u0000\u1a9f"+
57612 "\u1aa0\u00054\u0000\u0000\u1aa0\u1aa2\u0005\u00fe\u0000\u0000\u1aa1\u1aa3"+
57613 "\u0003\u00e8t\u0000\u1aa2\u1aa1\u0001\u0000\u0000\u0000\u1aa2\u1aa3\u0001"+
57614 "\u0000\u0000\u0000\u1aa3\u1aa4\u0001\u0000\u0000\u0000\u1aa4\u1aa5\u0003"+
57615 "N\'\u0000\u1aa5\u03a5\u0001\u0000\u0000\u0000\u1aa6\u1aa7\u00053\u0000"+
57616 "\u0000\u1aa7\u1aa8\u0005\u00fe\u0000\u0000\u1aa8\u1ab3\u0003N\'\u0000"+
57617 "\u1aa9\u1aaa\u00059\u0000\u0000\u1aaa\u1aab\u0005\u02a6\u0000\u0000\u1aab"+
57618 "\u1ab4\u0003\u032a\u0195\u0000\u1aac\u1aad\u00054\u0000\u0000\u1aad\u1aae"+
57619 "\u0005\u02a6\u0000\u0000\u1aae\u1ab4\u0003\u032a\u0195\u0000\u1aaf\u1ab0"+
57620 "\u0005M\u0000\u0000\u1ab0\u1ab1\u0005\u00aa\u0000\u0000\u1ab1\u1ab2\u0005"+
57621 "\u0018\u0000\u0000\u1ab2\u1ab4\u0003N\'\u0000\u1ab3\u1aa9\u0001\u0000"+
57622 "\u0000\u0000\u1ab3\u1aac\u0001\u0000\u0000\u0000\u1ab3\u1aaf\u0001\u0000"+
57623 "\u0000\u0000\u1ab4\u03a7\u0001\u0000\u0000\u0000\u1ab5\u1ab6\u00052\u0000"+
57624 "\u0000\u1ab6\u1ab7\u0005\u0122\u0000\u0000\u1ab7\u1abd\u0003\u039a\u01cd"+
57625 "\u0000\u1ab8\u1abe\u0003\u03aa\u01d5\u0000\u1ab9\u1abe\u0003\u03b8\u01dc"+
57626 "\u0000\u1aba\u1abe\u0003\u03bc\u01de\u0000\u1abb\u1abe\u0003\u03c0\u01e0"+
57627 "\u0000\u1abc\u1abe\u0003\u03c4\u01e2\u0000\u1abd\u1ab8\u0001\u0000\u0000"+
57628 "\u0000\u1abd\u1ab9\u0001\u0000\u0000\u0000\u1abd\u1aba\u0001\u0000\u0000"+
57629 "\u0000\u1abd\u1abb\u0001\u0000\u0000\u0000\u1abd\u1abc\u0001\u0000\u0000"+
57630 "\u0000\u1abe\u03a9\u0001\u0000\u0000\u0000\u1abf\u1ac0\u0005M\u0000\u0000"+
57631 "\u1ac0\u1ac4\u0003\u03ac\u01d6\u0000\u1ac1\u1ac2\u0005U\u0000\u0000\u1ac2"+
57632 "\u1ac4\u0003\u03b4\u01da\u0000\u1ac3\u1abf\u0001\u0000\u0000\u0000\u1ac3"+
57633 "\u1ac1\u0001\u0000\u0000\u0000\u1ac4\u03ab\u0001\u0000\u0000\u0000\u1ac5"+
57634 "\u1ac6\u0005\u00d5\u0000\u0000\u1ac6\u1acb\u0005\u0018\u0000\u0000\u1ac7"+
57635 "\u1acc\u0003\u001c\u000e\u0000\u1ac8\u1ac9\u0003\u03b0\u01d8\u0000\u1ac9"+
57636 "\u1aca\u0005\u02a7\u0000\u0000\u1aca\u1acc\u0001\u0000\u0000\u0000\u1acb"+
57637 "\u1ac7\u0001\u0000\u0000\u0000\u1acb\u1ac8\u0001\u0000\u0000\u0000\u1acc"+
57638 "\u1ace\u0001\u0000\u0000\u0000\u1acd\u1acf\u0005\u02a8\u0000\u0000\u1ace"+
57639 "\u1acd\u0001\u0000\u0000\u0000\u1ace\u1acf\u0001\u0000\u0000\u0000\u1acf"+
57640 "\u1ad9\u0001\u0000\u0000\u0000\u1ad0\u1ad1\u0005%\u0000\u0000\u1ad1\u1ad6"+
57641 "\u0003\u03ae\u01d7\u0000\u1ad2\u1ad3\u0005%\u0000\u0000\u1ad3\u1ad5\u0003"+
57642 "\u03ae\u01d7\u0000\u1ad4\u1ad2\u0001\u0000\u0000\u0000\u1ad5\u1ad8\u0001"+
57643 "\u0000\u0000\u0000\u1ad6\u1ad4\u0001\u0000\u0000\u0000\u1ad6\u1ad7\u0001"+
57644 "\u0000\u0000\u0000\u1ad7\u1ada\u0001\u0000\u0000\u0000\u1ad8\u1ad6\u0001"+
57645 "\u0000\u0000\u0000\u1ad9\u1ad0\u0001\u0000\u0000\u0000\u1ad9\u1ada\u0001"+
57646 "\u0000\u0000\u0000\u1ada\u03ad\u0001\u0000\u0000\u0000\u1adb\u1adc\u0005"+
57647 "\u029e\u0000\u0000\u1adc\u1add\u0005\u0018\u0000\u0000\u1add\u1aee\u0003"+
57648 "\u03b2\u01d9\u0000\u1ade\u1adf\u0005\u02a9\u0000\u0000\u1adf\u1ae0\u0005"+
57649 "\u0018\u0000\u0000\u1ae0\u1aee\u00032\u0019\u0000\u1ae1\u1ae2\u0005\u028a"+
57650 "\u0000\u0000\u1ae2\u1ae3\u0005\u0018\u0000\u0000\u1ae3\u1aee\u0003*\u0015"+
57651 "\u0000\u1ae4\u1ae5\u0005\u02aa\u0000\u0000\u1ae5\u1ae6\u0005\u0018\u0000"+
57652 "\u0000\u1ae6\u1aee\u0007\u0000\u0000\u0000\u1ae7\u1ae8\u0005\u02ab\u0000"+
57653 "\u0000\u1ae8\u1ae9\u0005\u0018\u0000\u0000\u1ae9\u1aee\u0007\u0000\u0000"+
57654 "\u0000\u1aea\u1aeb\u0005\u0156\u0000\u0000\u1aeb\u1aec\u0005\u0018\u0000"+
57655 "\u0000\u1aec\u1aee\u0003*\u0015\u0000\u1aed\u1adb\u0001\u0000\u0000\u0000"+
57656 "\u1aed\u1ade\u0001\u0000\u0000\u0000\u1aed\u1ae1\u0001\u0000\u0000\u0000"+
57657 "\u1aed\u1ae4\u0001\u0000\u0000\u0000\u1aed\u1ae7\u0001\u0000\u0000\u0000"+
57658 "\u1aed\u1aea\u0001\u0000\u0000\u0000\u1aee\u03af\u0001\u0000\u0000\u0000"+
57659 "\u1aef\u1af0\u0005\u02cf\u0000\u0000\u1af0\u03b1\u0001\u0000\u0000\u0000"+
57660 "\u1af1\u1af2\u0007_\u0000\u0000\u1af2\u03b3\u0001\u0000\u0000\u0000\u1af3"+
57661 "\u1afd\u0005\u02ac\u0000\u0000\u1af4\u1af5\u0005M\u0000\u0000\u1af5\u1afa"+
57662 "\u0003\u03b6\u01db\u0000\u1af6\u1af7\u0005%\u0000\u0000\u1af7\u1af9\u0003"+
57663 "\u03b6\u01db\u0000\u1af8\u1af6\u0001\u0000\u0000\u0000\u1af9\u1afc\u0001"+
57664 "\u0000\u0000\u0000\u1afa\u1af8\u0001\u0000\u0000\u0000\u1afa\u1afb\u0001"+
57665 "\u0000\u0000\u0000\u1afb\u1afe\u0001\u0000\u0000\u0000\u1afc\u1afa\u0001"+
57666 "\u0000\u0000\u0000\u1afd\u1af4\u0001\u0000\u0000\u0000\u1afd\u1afe\u0001"+
57667 "\u0000\u0000\u0000\u1afe\u1b05\u0001\u0000\u0000\u0000\u1aff\u1b00\u0005"+
57668 "\u016c\u0000\u0000\u1b00\u1b05\u0003*\u0015\u0000\u1b01\u1b02\u0005\u014c"+
57669 "\u0000\u0000\u1b02\u1b03\u0005C\u0000\u0000\u1b03\u1b05\u0003*\u0015\u0000"+
57670 "\u1b04\u1af3\u0001\u0000\u0000\u0000\u1b04\u1aff\u0001\u0000\u0000\u0000"+
57671 "\u1b04\u1b01\u0001\u0000\u0000\u0000\u1b05\u03b5\u0001\u0000\u0000\u0000"+
57672 "\u1b06\u1b07\u0005\u02a9\u0000\u0000\u1b07\u1b08\u0005\u0018\u0000\u0000"+
57673 "\u1b08\u1b0d\u00032\u0019\u0000\u1b09\u1b0a\u0005\u028a\u0000\u0000\u1b0a"+
57674 "\u1b0b\u0005\u0018\u0000\u0000\u1b0b\u1b0d\u0003*\u0015\u0000\u1b0c\u1b06"+
57675 "\u0001\u0000\u0000\u0000\u1b0c\u1b09\u0001\u0000\u0000\u0000\u1b0d\u03b7"+
57676 "\u0001\u0000\u0000\u0000\u1b0e\u1b0f\u0005U\u0000\u0000\u1b0f\u1b10\u0005"+
57677 "\u0161\u0000\u0000\u1b10\u1b1b\u0005\u029d\u0000\u0000\u1b11\u1b12\u0005"+
57678 "M\u0000\u0000\u1b12\u1b17\u0003\u03ba\u01dd\u0000\u1b13\u1b14\u0005%\u0000"+
57679 "\u0000\u1b14\u1b16\u0003\u03ba\u01dd\u0000\u1b15\u1b13\u0001\u0000\u0000"+
57680 "\u0000\u1b16\u1b19\u0001\u0000\u0000\u0000\u1b17\u1b15\u0001\u0000\u0000"+
57681 "\u0000\u1b17\u1b18\u0001\u0000\u0000\u0000\u1b18\u1b1b\u0001\u0000\u0000"+
57682 "\u0000\u1b19\u1b17\u0001\u0000\u0000\u0000\u1b1a\u1b0e\u0001\u0000\u0000"+
57683 "\u0000\u1b1a\u1b11\u0001\u0000\u0000\u0000\u1b1b\u03b9\u0001\u0000\u0000"+
57684 "\u0000\u1b1c\u1b1d\u0005\u00d5\u0000\u0000\u1b1d\u1b1e\u0005\u0018\u0000"+
57685 "\u0000\u1b1e\u1b23\u0003\u001c\u000e\u0000\u1b1f\u1b20\u0005%\u0000\u0000"+
57686 "\u1b20\u1b21\u0005\u029e\u0000\u0000\u1b21\u1b22\u0005\u0018\u0000\u0000"+
57687 "\u1b22\u1b24\u0003\u03b2\u01d9\u0000\u1b23\u1b1f\u0001\u0000\u0000\u0000"+
57688 "\u1b23\u1b24\u0001\u0000\u0000\u0000\u1b24\u03bb\u0001\u0000\u0000\u0000"+
57689 "\u1b25\u1b26\u0005U\u0000\u0000\u1b26\u1b27\u0005\u0161\u0000\u0000\u1b27"+
57690 "\u1b29\u0005\u029d\u0000\u0000\u1b28\u1b25\u0001\u0000\u0000\u0000\u1b28"+
57691 "\u1b29\u0001\u0000\u0000\u0000\u1b29\u1b2a\u0001\u0000\u0000\u0000\u1b2a"+
57692 "\u1b2b\u0005M\u0000\u0000\u1b2b\u1b30\u0003\u03be\u01df\u0000\u1b2c\u1b2d"+
57693 "\u0005%\u0000\u0000\u1b2d\u1b2f\u0003\u03be\u01df\u0000\u1b2e\u1b2c\u0001"+
57694 "\u0000\u0000\u0000\u1b2f\u1b32\u0001\u0000\u0000\u0000\u1b30\u1b2e\u0001"+
57695 "\u0000\u0000\u0000\u1b30\u1b31\u0001\u0000\u0000\u0000\u1b31\u03bd\u0001"+
57696 "\u0000\u0000\u0000\u1b32\u1b30\u0001\u0000\u0000\u0000\u1b33\u1b34\u0005"+
57697 "\u00d5\u0000\u0000\u1b34\u1b35\u0005\u0018\u0000\u0000\u1b35\u1b40\u0003"+
57698 "\u001c\u000e\u0000\u1b36\u1b37\u0005\u029e\u0000\u0000\u1b37\u1b38\u0005"+
57699 "\u0018\u0000\u0000\u1b38\u1b40\u0003\u03b2\u01d9\u0000\u1b39\u1b3a\u0005"+
57700 "\u02a9\u0000\u0000\u1b3a\u1b3b\u0005\u0018\u0000\u0000\u1b3b\u1b40\u0003"+
57701 "2\u0019\u0000\u1b3c\u1b3d\u0005\u028a\u0000\u0000\u1b3d\u1b3e\u0005\u0018"+
57702 "\u0000\u0000\u1b3e\u1b40\u0003*\u0015\u0000\u1b3f\u1b33\u0001\u0000\u0000"+
57703 "\u0000\u1b3f\u1b36\u0001\u0000\u0000\u0000\u1b3f\u1b39\u0001\u0000\u0000"+
57704 "\u0000\u1b3f\u1b3c\u0001\u0000\u0000\u0000\u1b40\u03bf\u0001\u0000\u0000"+
57705 "\u0000\u1b41\u1b42\u0005M\u0000\u0000\u1b42\u1b43\u0003\u03c2\u01e1\u0000"+
57706 "\u1b43\u03c1\u0001\u0000\u0000\u0000\u1b44\u1b45\u0005\u00d5\u0000\u0000"+
57707 "\u1b45\u1b46\u0005\u0018\u0000\u0000\u1b46\u1b4b\u0003\u001c\u000e\u0000"+
57708 "\u1b47\u1b48\u0005%\u0000\u0000\u1b48\u1b49\u0005\u029e\u0000\u0000\u1b49"+
57709 "\u1b4a\u0005\u0018\u0000\u0000\u1b4a\u1b4c\u0003\u03b2\u01d9\u0000\u1b4b"+
57710 "\u1b47\u0001\u0000\u0000\u0000\u1b4b\u1b4c\u0001\u0000\u0000\u0000\u1b4c"+
57711 "\u03c3\u0001\u0000\u0000\u0000\u1b4d\u1b4e\u0005M\u0000\u0000\u1b4e\u1b52"+
57712 "\u0003\u03c6\u01e3\u0000\u1b4f\u1b50\u0005U\u0000\u0000\u1b50\u1b52\u0005"+
57713 "\u02ac\u0000\u0000\u1b51\u1b4d\u0001\u0000\u0000\u0000\u1b51\u1b4f\u0001"+
57714 "\u0000\u0000\u0000\u1b52\u03c5\u0001\u0000\u0000\u0000\u1b53\u1b54\u0005"+
57715 "\u00d5\u0000\u0000\u1b54\u1b55\u0005\u0018\u0000\u0000\u1b55\u1b57\u0003"+
57716 "\u001c\u000e\u0000\u1b56\u1b58\u0005\u02a8\u0000\u0000\u1b57\u1b56\u0001"+
57717 "\u0000\u0000\u0000\u1b57\u1b58\u0001\u0000\u0000\u0000\u1b58\u1b62\u0001"+
57718 "\u0000\u0000\u0000\u1b59\u1b5a\u0005%\u0000\u0000\u1b5a\u1b5f\u0003\u03c8"+
57719 "\u01e4\u0000\u1b5b\u1b5c\u0005%\u0000\u0000\u1b5c\u1b5e\u0003\u03c8\u01e4"+
57720 "\u0000\u1b5d\u1b5b\u0001\u0000\u0000\u0000\u1b5e\u1b61\u0001\u0000\u0000"+
57721 "\u0000\u1b5f\u1b5d\u0001\u0000\u0000\u0000\u1b5f\u1b60\u0001\u0000\u0000"+
57722 "\u0000\u1b60\u1b63\u0001\u0000\u0000\u0000\u1b61\u1b5f\u0001\u0000\u0000"+
57723 "\u0000\u1b62\u1b59\u0001\u0000\u0000\u0000\u1b62\u1b63\u0001\u0000\u0000"+
57724 "\u0000\u1b63\u03c7\u0001\u0000\u0000\u0000\u1b64\u1b65\u0005\u02aa\u0000"+
57725 "\u0000\u1b65\u1b66\u0005\u0018\u0000\u0000\u1b66\u1b6b\u0007\u0000\u0000"+
57726 "\u0000\u1b67\u1b68\u0005\u02ab\u0000\u0000\u1b68\u1b69\u0005\u0018\u0000"+
57727 "\u0000\u1b69\u1b6b\u0007\u0000\u0000\u0000\u1b6a\u1b64\u0001\u0000\u0000"+
57728 "\u0000\u1b6a\u1b67\u0001\u0000\u0000\u0000\u1b6b\u03c9\u0001\u0000\u0000"+
57729 "\u0000\u1b6c\u1b6d\u00054\u0000\u0000\u1b6d\u1b6e\u0005\u0122\u0000\u0000"+
57730 "\u1b6e\u1b6f\u0003\u039a\u01cd\u0000\u1b6f\u03cb\u0001\u0000\u0000\u0000"+
57731 "\u1b70\u1b71\u00053\u0000\u0000\u1b71\u1b72\u0005\u0122\u0000\u0000\u1b72"+
57732 "\u1b7e\u0003\u039a\u01cd\u0000\u1b73\u1b7f\u0003\u03ce\u01e7\u0000\u1b74"+
57733 "\u1b75\u0005M\u0000\u0000\u1b75\u1b7a\u0003\u03d0\u01e8\u0000\u1b76\u1b77"+
57734 "\u0005%\u0000\u0000\u1b77\u1b79\u0003\u03d0\u01e8\u0000\u1b78\u1b76\u0001"+
57735 "\u0000\u0000\u0000\u1b79\u1b7c\u0001\u0000\u0000\u0000\u1b7a\u1b78\u0001"+
57736 "\u0000\u0000\u0000\u1b7a\u1b7b\u0001\u0000\u0000\u0000\u1b7b\u1b7f\u0001"+
57737 "\u0000\u0000\u0000\u1b7c\u1b7a\u0001\u0000\u0000\u0000\u1b7d\u1b7f\u0003"+
57738 "\u03d4\u01ea\u0000\u1b7e\u1b73\u0001\u0000\u0000\u0000\u1b7e\u1b74\u0001"+
57739 "\u0000\u0000\u0000\u1b7e\u1b7d\u0001\u0000\u0000\u0000\u1b7f\u03cd\u0001"+
57740 "\u0000\u0000\u0000\u1b80\u1b81\u0007)\u0000\u0000\u1b81\u03cf\u0001\u0000"+
57741 "\u0000\u0000\u1b82\u1b83\u0005\u00d5\u0000\u0000\u1b83\u1b88\u0005\u0018"+
57742 "\u0000\u0000\u1b84\u1b89\u0003\u001c\u000e\u0000\u1b85\u1b86\u0003\u03b0"+
57743 "\u01d8\u0000\u1b86\u1b87\u0005\u02a7\u0000\u0000\u1b87\u1b89\u0001\u0000"+
57744 "\u0000\u0000\u1b88\u1b84\u0001\u0000\u0000\u0000\u1b88\u1b85\u0001\u0000"+
57745 "\u0000\u0000\u1b89\u1b91\u0001\u0000\u0000\u0000\u1b8a\u1b8b\u0005\u029c"+
57746 "\u0000\u0000\u1b8b\u1b8c\u0005\u0018\u0000\u0000\u1b8c\u1b92\u0003\u001c"+
57747 "\u000e\u0000\u1b8d\u1b8f\u0003\u03d2\u01e9\u0000\u1b8e\u1b90\u0003\u03d2"+
57748 "\u01e9\u0000\u1b8f\u1b8e\u0001\u0000\u0000\u0000\u1b8f\u1b90\u0001\u0000"+
57749 "\u0000\u0000\u1b90\u1b92\u0001\u0000\u0000\u0000\u1b91\u1b8a\u0001\u0000"+
57750 "\u0000\u0000\u1b91\u1b8d\u0001\u0000\u0000\u0000\u1b91\u1b92\u0001\u0000"+
57751 "\u0000\u0000\u1b92\u1ba8\u0001\u0000\u0000\u0000\u1b93\u1b94\u0005\u02a9"+
57752 "\u0000\u0000\u1b94\u1b95\u0005\u0018\u0000\u0000\u1b95\u1ba8\u00032\u0019"+
57753 "\u0000\u1b96\u1b97\u0005\u028a\u0000\u0000\u1b97\u1b98\u0005\u0018\u0000"+
57754 "\u0000\u1b98\u1ba8\u0003*\u0015\u0000\u1b99\u1b9a\u0005\u00aa\u0000\u0000"+
57755 "\u1b9a\u1b9b\u0005\u0018\u0000\u0000\u1b9b\u1ba8\u0003\u039a\u01cd\u0000"+
57756 "\u1b9c\u1b9d\u0005\u02ab\u0000\u0000\u1b9d\u1b9e\u0005\u0018\u0000\u0000"+
57757 "\u1b9e\u1ba8\u0007\u0000\u0000\u0000\u1b9f\u1ba0\u0005\u02aa\u0000\u0000"+
57758 "\u1ba0\u1ba1\u0005\u0018\u0000\u0000\u1ba1\u1ba8\u0007\u0000\u0000\u0000"+
57759 "\u1ba2\u1ba3\u0005\u0156\u0000\u0000\u1ba3\u1ba4\u0005\u0018\u0000\u0000"+
57760 "\u1ba4\u1ba8\u0003*\u0015\u0000\u1ba5\u1ba6\u0005\u00f9\u0000\u0000\u1ba6"+
57761 "\u1ba8\u0005\u0156\u0000\u0000\u1ba7\u1b82\u0001\u0000\u0000\u0000\u1ba7"+
57762 "\u1b93\u0001\u0000\u0000\u0000\u1ba7\u1b96\u0001\u0000\u0000\u0000\u1ba7"+
57763 "\u1b99\u0001\u0000\u0000\u0000\u1ba7\u1b9c\u0001\u0000\u0000\u0000\u1ba7"+
57764 "\u1b9f\u0001\u0000\u0000\u0000\u1ba7\u1ba2\u0001\u0000\u0000\u0000\u1ba7"+
57765 "\u1ba5\u0001\u0000\u0000\u0000\u1ba8\u03d1\u0001\u0000\u0000\u0000\u1ba9"+
57766 "\u1baa\u0007`\u0000\u0000\u1baa\u03d3\u0001\u0000\u0000\u0000\u1bab\u1bac"+
57767 "\u00059\u0000\u0000\u1bac\u1bad\u0005\u0156\u0000\u0000\u1bad\u1bb2\u0003"+
57768 "*\u0015\u0000\u1bae\u1baf\u00054\u0000\u0000\u1baf\u1bb0\u0005\u0156\u0000"+
57769 "\u0000\u1bb0\u1bb2\u0003*\u0015\u0000\u1bb1\u1bab\u0001\u0000\u0000\u0000"+
57770 "\u1bb1\u1bae\u0001\u0000\u0000\u0000\u1bb2\u03d5\u0001\u0000\u0000\u0000"+
57771 "\u1bb3\u1bb8\u0005\u02ae\u0000\u0000\u1bb4\u1bb5\u0005M\u0000\u0000\u1bb5"+
57772 "\u1bb6\u0005\u02af\u0000\u0000\u1bb6\u1bb7\u0005\u0018\u0000\u0000\u1bb7"+
57773 "\u1bb9\u0003\u00dam\u0000\u1bb8\u1bb4\u0001\u0000\u0000\u0000\u1bb8\u1bb9"+
57774 "\u0001\u0000\u0000\u0000\u1bb9\u03d7\u0001\u0000\u0000\u0000\u0337\u0413"+
57775 "\u0416\u0426\u0432\u0438\u043a\u043c\u0443\u0449\u044b\u0453\u0457\u045f"+
57776 "\u0463\u0469\u0474\u0479\u0484\u0490\u0494\u04a1\u04a8\u04ad\u04b2\u04b9"+
57777 "\u04c0\u04c9\u04ce\u04d0\u04d7\u04e2\u04e6\u04f7\u0502\u0508\u050f\u0513"+
57778 "\u051d\u0523\u0525\u052a\u0537\u0545\u0547\u0550\u055d\u056c\u056e\u0575"+
57779 "\u057c\u0585\u058c\u0595\u059b\u059e\u05c1\u05c3\u05cf\u05d7\u05dd\u05e7"+
57780 "\u05ee\u05f4\u05f9\u0600\u0604\u0611\u0621\u062c\u0631\u063a\u063e\u0647"+
57781 "\u064f\u0653\u0660\u0665\u0671\u0676\u067f\u0683\u068a\u0691\u0695\u069a"+
57782 "\u069d\u06ad\u06b6\u06c2\u06c4\u06c9\u06cd\u06d0\u06d5\u06de\u06e3\u06eb"+
57783 "\u06f7\u0700\u0706\u070e\u0711\u0714\u071f\u0727\u0730\u0738\u0740\u0744"+
57784 "\u0751\u0753\u075c\u0771\u0776\u0782\u078f\u0798\u07a5\u07ba\u07c3\u07c7"+
57785 "\u07e0\u07ea\u07f4\u07fd\u080b\u0813\u0819\u0821\u082c\u0833\u083d\u0842"+
57786 "\u0863\u086c\u086f\u0876\u087d\u0884\u088d\u0894\u089a\u08a1\u08a7\u08ae"+
57787 "\u08b4\u08bb\u08c1\u08c8\u08cf\u08d1\u08d6\u08dd\u08e7\u08f3\u08fa\u08fe"+
57788 "\u0900\u0903\u0907\u090a\u0910\u0915\u0920\u0924\u0926\u0929\u092e\u093d"+
57789 "\u0941\u094d\u0952\u095b\u0962\u0967\u0976\u0980\u098b\u098e\u099a\u099e"+
57790 "\u09b0\u09b5\u09b9\u09be\u09c2\u09c9\u09ce\u09d6\u09df\u09e3\u09e7\u09ea"+
57791 "\u09ed\u09f0\u09fe\u0a03\u0a08\u0a1a\u0a1c\u0a27\u0a2f\u0a34\u0a3d\u0a44"+
57792 "\u0a4a\u0a53\u0a56\u0a59\u0a5c\u0a65\u0a6d\u0a76\u0a7d\u0a80\u0a88\u0a8a"+
57793 "\u0a8d\u0a97\u0a9c\u0aa1\u0aa5\u0aa8\u0aac\u0aaf\u0ab4\u0abc\u0ac5\u0acd"+
57794 "\u0ad0\u0ad3\u0ad6\u0adc\u0ae0\u0ae8\u0afe\u0b00\u0b05\u0b07\u0b0e\u0b10"+
57795 "\u0b14\u0b1c\u0b2a\u0b33\u0b42\u0b48\u0b4c\u0b53\u0b67\u0b70\u0b73\u0b89"+
57796 "\u0b8b\u0b96\u0ba6\u0bab\u0baf\u0bb4\u0bbb\u0bc5\u0bcc\u0bcf\u0bda\u0bde"+
57797 "\u0be3\u0be9\u0bee\u0bf1\u0bfc\u0c05\u0c09\u0c18\u0c1f\u0c2b\u0c2e\u0c32"+
57798 "\u0c36\u0c3f\u0c42\u0c45\u0c4c\u0c51\u0c5a\u0c6e\u0c70\u0c76\u0c7d\u0c82"+
57799 "\u0c89\u0c8d\u0c93\u0c99\u0c9e\u0ca4\u0cab\u0cb1\u0cba\u0cc1\u0cc3\u0cc9"+
57800 "\u0ccc\u0ccf\u0cd4\u0cdb\u0ce4\u0ce9\u0cf2\u0cf4\u0cf9\u0d02\u0d04\u0d07"+
57801 "\u0d19\u0d1b\u0d25\u0d2c\u0d2f\u0d33\u0d3b\u0d3e\u0d42\u0d49\u0d50\u0d5b"+
57802 "\u0d77\u0d7f\u0d91\u0d93\u0d9a\u0d9d\u0d9f\u0da6\u0da8\u0dad\u0db4\u0db9"+
57803 "\u0dbc\u0dc0\u0dc9\u0dcc\u0dd4\u0dd8\u0ddc\u0de1\u0de6\u0dea\u0df5\u0dfc"+
57804 "\u0e02\u0e06\u0e0a\u0e12\u0e14\u0e17\u0e1e\u0e23\u0e2c\u0e31\u0e39\u0e40"+
57805 "\u0e48\u0e51\u0e5d\u0e6d\u0e70\u0e72\u0e75\u0e78\u0e7b\u0e7e\u0e90\u0e95"+
57806 "\u0e9a\u0e9f\u0ea2\u0ea6\u0eae\u0eba\u0ebd\u0ec0\u0ecf\u0ed2\u0ed5\u0ed9"+
57807 "\u0edd\u0ee7\u0eea\u0eed\u0ef8\u0efd\u0f03\u0f07\u0f0a\u0f15\u0f18\u0f1d"+
57808 "\u0f1f\u0f2b\u0f2e\u0f35\u0f38\u0f3c\u0f40\u0f43\u0f46\u0f4a\u0f55\u0f58"+
57809 "\u0f5f\u0f62\u0f66\u0f6d\u0f72\u0f7d\u0f82\u0f84\u0f91\u0f9c\u0fa4\u0fa7"+
57810 "\u0fab\u0fb1\u0fbb\u0fc5\u0fca\u0fd6\u0fdc\u0fdf\u0fe2\u0fe5\u0fe8\u0feb"+
57811 "\u0fee\u0ff2\u0ff7\u0ffe\u1005\u1012\u101e\u1024\u102d\u1030\u1034\u1038"+
57812 "\u1041\u1046\u104f\u1051\u1056\u1058\u105f\u106a\u1073\u107a\u107c\u1085"+
57813 "\u108a\u1091\u1098\u10aa\u10af\u10b3\u10ce\u10d1\u10da\u10f3\u10f6\u10f8"+
57814 "\u10fd\u1105\u111a\u111c\u1125\u1128\u1137\u113c\u1145\u1159\u115c\u1160"+
57815 "\u116c\u116e\u117b\u117d\u1187\u11b4\u11ba\u11c3\u11d2\u11d6\u11df\u11e5"+
57816 "\u11ef\u11f8\u1203\u120f\u1211\u1219\u1227\u122f\u1234\u1236\u123f\u1245"+
57817 "\u125a\u1261\u1269\u126e\u1270\u1299\u129e\u12ad\u12b5\u12cc\u12d5\u12dd"+
57818 "\u12e8\u12ed\u12f5\u1300\u130b\u1314\u131b\u131f\u1325\u133a\u1348\u134b"+
57819 "\u1356\u135b\u135e\u1362\u1365\u1369\u136c\u136f\u1375\u1378\u137b\u1381"+
57820 "\u1384\u138c\u1390\u1393\u1398\u13a1\u13ac\u13af\u13b2\u13b6\u13bb\u13bf"+
57821 "\u13cb\u13cf\u13d7\u13de\u13e2\u13e5\u13e9\u13ed\u13f0\u13f3\u13f7\u13fa"+
57822 "\u13fd\u1401\u1404\u1407\u1412\u1416\u141b\u141f\u1427\u142b\u1430\u1434"+
57823 "\u1438\u143c\u143f\u1442\u1445\u1448\u144b\u1452\u1454\u145a\u1462\u1466"+
57824 "\u146a\u146d\u1470\u1472\u1476\u147a\u147d\u1481\u148b\u148e\u1490\u1494"+
57825 "\u14a3\u14aa\u14af\u14b2\u14b6\u14ba\u14be\u14c1\u14c7\u14ca\u14cd\u14d3"+
57826 "\u14d6\u14da\u14df\u14e5\u14e7\u14ed\u14f9\u150b\u1510";
57827 private static final String _serializedATNSegment3 =
57828 "\u1518\u151d\u151f\u1526\u152d\u1530\u1538\u1562\u1564\u1579\u1580\u15b8"+
57829 "\u15be\u15c6\u15c9\u15d3\u15d5\u15d7\u15dc\u15de\u15e0\u15e6\u15e8\u15ef"+
57830 "\u15f5\u15f7\u15f9\u15fb\u1600\u1604\u160c\u160e\u1618\u161a\u161e\u1622"+
57831 "\u1624\u1629\u162b\u162e\u1637\u1641\u164d\u1652\u165a\u1660\u1664\u1669"+
57832 "\u1671\u1677\u167b\u1680\u1684\u168b\u1694\u169b\u16a2\u16aa\u16ae\u16b3"+
57833 "\u16bb\u16bf\u16c3\u16c8\u16d0\u16d4\u16d9\u16de\u16e6\u16ea\u16ee\u16f3"+
57834 "\u16fb\u16ff\u1707\u171c\u172e\u1739\u174e\u1768\u177d\u1781\u1786\u178f"+
57835 "\u1791\u17a3\u17b7\u17c2\u17d5\u17d9\u17e1\u17e5\u17f0\u180c\u1812\u182f"+
57836 "\u1836\u183a\u183f\u1849\u1854\u185e\u1867\u187d\u188a\u1891\u189d\u18aa"+
57837 "\u18b7\u18c2\u18ce\u18d4\u18da\u18e0\u18ec\u18f9\u1906\u1912\u1918\u191e"+
57838 "\u1925\u1929\u1936\u1943\u194c\u1956\u1986\u1990\u1992\u199e\u19a4\u19ac"+
57839 "\u19af\u19b8\u19bb\u19c8\u19cb\u19d2\u19d8\u19df\u19e7\u19ea\u19f5\u19f8"+
57840 "\u1a01\u1a0a\u1a12\u1a14\u1a1d\u1a22\u1a24\u1a2a\u1a35\u1a38\u1a3a\u1a42"+
57841 "\u1a48\u1a52\u1a5d\u1a62\u1a6f\u1a75\u1a7e\u1a89\u1a8f\u1a94\u1a96\u1a9d"+
57842 "\u1aa2\u1ab3\u1abd\u1ac3\u1acb\u1ace\u1ad6\u1ad9\u1aed\u1afa\u1afd\u1b04"+
57843 "\u1b0c\u1b17\u1b1a\u1b23\u1b28\u1b30\u1b3f\u1b4b\u1b51\u1b57\u1b5f\u1b62"+
57844 "\u1b6a\u1b7a\u1b7e\u1b88\u1b8f\u1b91\u1ba7\u1bb1\u1bb8";
57845 public static final String _serializedATN = Utils.join(
57846 new String[] {
57847 _serializedATNSegment0,
57848 _serializedATNSegment1,
57849 _serializedATNSegment2,
57850 _serializedATNSegment3
57851 },
57852 ""
57853 );
57854 public static final ATN _ATN =
57855 new ATNDeserializer().deserialize(_serializedATN.toCharArray());
57856 static {
57857 _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
57858 for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
57859 _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
57860 }
57861 }
57862 }